当前位置: 首页 > 编程笔记 >

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

慕容超
2023-03-14
本文向大家介绍使用git处理github中提交有冲突的pull request的问题,包括了使用git处理github中提交有冲突的pull request的问题的使用技巧和注意事项,需要的朋友参考一下

前言:

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

github中的大概命令合并指令

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查看当前所属分支

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

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

github中的命令语句

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

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

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

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

<<<<<<< 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 //将代码推送的远程仓库中

到此这篇关于使用git处理github中提交有冲突的pull request的文章就介绍到这了,更多相关git处理github提交冲突内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 主要内容:执行 master 分支变更,出现冲突,解决冲突假设要在分支中执行更改,修改分支中的代码。添加一个计算长度的函数:,代码变化如下 - 假设验证代码后,没有问题就提交这些更改。 执行 master 分支变更 同时在分支中,另外一个开发人员()还会更改了内容,并将其更改推送到分支。 验证差异后,现在就提交更新内容。 在分支上,我们已经实现了一个函数。假设经过测试后,提交并将其更改推送到分支。 出现冲突 假设另外一个开发人员()想看看我们在分支上做了

  • git提交前先fetch一下,然后merge的时候提示有冲突,然后把自己的一个冲突的文件提交到本地仓库,再merge提示那个文件冲突,然后手动解决冲突后提交了那个文件,结果之前别人提前的代码被还原了,请问大家是什么原因出现这种情况?是解决冲突后提交只提交了自己的那个文件会导致其他之前别人提交的文件被还原吗?

  • 对于很多人来说,合并时出现冲突是非常可怕的事,这就好像一不小心格式化了自己的硬盘一样。在这一章节里我将为你消除这种恐惧。 你不会把事情搞砸 首先你应该记住,你总是可以撤销一个合并操作,并且返回到冲突发生之前的状态。也就是说,你永远有机会放弃并重新开始。 如果你已经掌握了一些关于其它的版本控制系统的使用经验,例如 Subversion ,你可能会很难过。因为在 Subversion 中处理冲突是被大

  • 现在,我正在使用msysgit使用SSH处理存储在ec2 Amazon云服务器上的我自己的私有存储库。 到目前为止,我已经能够通过Git Bash成功地连接到这些存储库(使用ssh-keygen创建ssh-rsa公钥和私钥,将公钥添加到远程机器上的授权的_服务器),因此我可以克隆、推、拉、通过CLI。 现在,我已经看到了适用于Windows的Github,我必须说,这是一款漂亮的软件。由于它基于m

  • 本文向大家介绍Hash表处理冲突的方法相关面试题,主要包含被问及Hash表处理冲突的方法时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 开放定址法 为产生冲突的地址求得一个地址序列(),其中。其中m为表的长度,而增量有三种取值方法,线性探测再散列,平方探测再散列,随即探测再散列。 链地址法 将所有Hash地址相同的记录都链接在同一链表中 再Hash法 同时构造多个不同的Hash函数,当产生

  • 那么,我该如何处理冲突,我已经知道我可以用Rect.colliderect(Rect)检测它。 我试过几种方法,但遇到了一些问题: 我不能把玩家的速度减到0,当他撞到东西的时候,然后把他移回来,直到他刚刚碰到那个物体,因为这仍然会引起走路的问题,当他走路的时候,我把+10的速度加到x上,但不幸的是,游戏的过程仍然是他跌倒,碰撞,侧身移动,所以只是把他移回到他开始的地方。 我是一个初学者,所以一个简