使用git处理github中提交有冲突的pull request

简介: 使用git处理github中提交有冲突的pull request

前言:

  为什么要写这篇文章,因为前段时间有一个开源的github中的项目有一个朋友提交了一个pr看了下是帮忙优化了下代码(十分感谢这位网友)。但是他提交的pr刚好和我的项目有许多的冲突导致无法自动合并,在github中提示只能使用命令行指令进行合并,因为这种情况处理的比较少为了以后方便使用在这里记录一下。

github中的大概命令合并指令

1336199-20201112021526502-20021429.png

1、首先我们需要下载一个git分布式管理工具

下载Git链接地址:https://git-scm.com/

2、然后我们需要clone下我们的项目

git clone sgit@github.com:YSGStudyHards/NPOI-ExportWordAndExcel-ImportExcelData.git(ssh项目链接)

3、创建并切换到该分支,并同步到master中

git checkout -b 创建的分支名 master
使用git branch查看当前所属分支

1336199-20201112020615742-551856509.png

4、拉取有冲突的pr到该分支中

git pull https//github.com/某人的/某项目的.git master

github中的命令语句

git pull git://github.com/hongbobaoer/NPOI-ExportWordAndExcel-ImportExcelData.git 20201109

5、直接打开冲突文件手动解决冲突

当项目拉取下来以后,我们就需要解决有冲突的文件信息了  

1336199-20201112022742586-1578755673.png

由下面的冲突文件中的冲突内容我们了解到:

<<<<<<< HEAD
6月19日 pingrixuexilianxi添加了内容
=======
6月18日 pingrixuexilianxi2修改了这个文件哦
>>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5

<<<<<<< HEAD到 =======里面的【6月19日 pingrixuexilianxi添加了内容】是自己刚才的Commit提交的内容

=======到 >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5里面的【6月18日 pingrixuexilianxi2修改了这个文件哦】是远程代码库更新的内容(即为pingrixuexilianxi2本地代码库推送修改内容)。

手动冲突解决方法

根据项目需求删除不需要的代码就行了,假如都需要的话我们只需要把 <<<<<<< HEAD=======     >>>>>>> a8284fd41903c54212d1105a6feb6c57292e07b5都删掉冲突就解决了(注意,在项目中最后这些符号都不能存在,否则可能会报异常)。

或者可以使用git可视化管理工具(推荐)

原因:由于有些人使用代码合并比较生疏,为了避免出错推荐使用sourcetree进行解决冲突合并。

详细使用sourcetree地址参考:https://www.cnblogs.com/Can-daydayup/p/13128633.html

6、合并更改并在GitHub上更新

注意:这里是没有使用可视化工具合并的时候才需要自己使用代码去执行合并,提交,更新操作!

git commit -a //把修改提交到新建的分支上,会提示你成功merge本地代码到这个人的代码库

git checkout master //切换到自己的主分支上
git merge 创建的分支名 //将新建的分支合并到自己的分支上
git push origin master //将代码推送的远程仓库中
相关文章
|
3月前
|
开发工具 git Python
通过Python脚本git pull 自动重试拉取代码
通过Python脚本git pull 自动重试拉取代码
184 5
|
18天前
|
网络安全 开发工具 git
解决fatal:remote error:You can’t push to git://github.com/username/*.g
通过上述诊断与修复步骤,绝大多数的推送错误都能得到有效解决,确保您的Git工作流顺畅无阻。
18 1
|
30天前
|
Unix Shell 网络安全
git学习六:(bug总结)git@github.com: Permission denied (publickey).等
本文是关于解决在使用Git和GitHub时遇到的“git@github.com: Permission denied (publickey)”错误的指南。文章提供了详细的步骤,包括确认SSH Agent运行状态、检查密钥配置、确保密钥匹配、验证仓库URL、检查权限和代理设置,以及配置SSH文件。这些步骤帮助用户诊断并解决SSH认证问题。
73 0
|
2月前
|
开发工具 git 开发者
掌握版本控制的艺术:Git 与 GitHub 的高效使用指南
在软件开发中,版本控制对于代码管理和团队协作至关重要。本文详细介绍了 Git 的核心概念与命令,包括初始化、创建仓库、文件跟踪、分支管理和远程仓库操作。同时,探讨了如何利用 GitHub 进行项目组织、代码审查及自动化工作流。通过遵循最佳实践,如频繁提交、清晰的信息记录和合理使用分支,开发者可以提升工作效率和团队协作能力,确保项目的持续成功。
|
2月前
|
Shell 网络安全 开发工具
Git,GitHub,Gitee&IDEA集成Git
Git提交项目到GitHub简洁版、版本控制、安装、常用命令、分支、团队协作机制、Github、Gitee远程仓库、IDEA集成Git、IDEA集成Github、IDEA集成Gitee
Git,GitHub,Gitee&IDEA集成Git
|
2月前
|
开发工具 git
深入理解Git中的git pull和git fetch命令
深入理解Git中的git pull和git fetch命令
87 0
|
2月前
|
Shell 网络安全 开发工具
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
fatal: unable to access 'https://github.com/wolfcw/libfaketime.git/': Encountered end of file
|
2月前
|
网络安全 开发工具 git
6-23|自建仓库如何免密执行git pull
6-23|自建仓库如何免密执行git pull
|
3月前
|
开发工具 git 开发者
Git Fetch 和 Git Pull:理解两者的区别
【8月更文挑战第27天】
317 1
|
3月前
|
存储 Linux Go
如何在Github上Pull Request的教程
关于如何在GitHub上发起Pull Request(合并请求)的详细教程,包括Fork(分支)、Clone(克隆)、创建新分支、修改代码、提交更改、推送到远程仓库等步骤,并提供了解决权限问题的方法,如创建个人访问令牌(Personal Access Token)。
91 6