当前位置:   article > 正文

git推送代码冲突解决_git push冲突

git push冲突

有如下场景:

小张和啊亮都git pull,两个人本地都获取了V1版本的代码,然后啊亮在本地将代码更新到了V3,然后将V3 push到了远程,git server发现V3就是基于V1版本修改的,于是git server将版本更新到V3

接着小张将本地基于V1的代码更改为V2后,也push到远程,此时git sever发现V2的代码基于V1修改的,并不是基于V3修改的,于是会报错,产生冲突(如果不报错,啊亮提交的V3就全没了)
在这里插入图片描述

一、无需手动解决的冲突

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这时啊亮也和小张一样,获取同一份远程的代码,然后进行修改

在这里插入图片描述
在这里插入图片描述

啊亮修改完成后,添加到暂存区以及本地仓库

在这里插入图片描述

git log查看提交日志,发现本地分支已经领先于远程分支

在这里插入图片描述

然后啊亮成功推送自己的代码

在这里插入图片描述

啊亮成功推送后,小张也push

在这里插入图片描述
这时就发生了冲突,于是啊亮git pull同步本地和远程的代码

在这里插入图片描述
在这里插入图片描述
可以看到,由于啊亮和小张修改的位置不同,所以冲突可以很顺利的合并

然后直接push即可

在这里插入图片描述
这时小张git pull即可同步刚才啊亮做的修改
在这里插入图片描述
通过git log可以查看提交日志,可以看见小张先做的修改,啊亮再做修改

二、需要手动解决的冲突

第一种情况中,由于小张和啊亮修改的是不同地方的代码,所以git工具可以帮我们自动合并冲突;然而当多个开发者修改的是同一个地方时,就需要我们手动解决冲突了

这时Windows和ubuntu两个客户端同时进行git pull,同时同步远程最新的代码
在这里插入图片描述

小张在Windows端修改了README.md

在这里插入图片描述

然后add、commit,准备push

在这里插入图片描述
啊亮在ubuntu端修改了README.md,此时与小张修改的是同一行
在这里插入图片描述

啊亮很快就把自己的修改push到远程仓库

在这里插入图片描述

然后小张这个时候才push,于是发生了冲突

在这里插入图片描述

然后git pull,同步本地和远程的代码,此时git工具会自动合并冲突(git工具不一定合并正确)

在这里插入图片描述
这就表示git自动merge失败了,需要小张手动修改冲突

查看冲突的文件

在这里插入图片描述

做如下修改

在这里插入图片描述

最后push到远程

在这里插入图片描述

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/778657
推荐阅读
相关标签
  

闽ICP备14008679号