Git远程提交的冲突解决

作者:EnjoyMoving
链接:https://www.zhihu.com/question/21215715/answer/201900253
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Git远程提交出现冲突的解决办法:

  1. 先本地直接提交代码:git push origin master
  2. 如果别人在自己之前提交了修改,git会提示push失败,需要先pull远程代码:git pull origin/master (拉取远程仓库进行自动合并)
    1. 如果能自动合并,git会提示auto merge成功,这时可以直接git push origin master
    2. 如果不能自动merge,git会提示auto merge失败,需要手动解决冲突:
      1. git status 查看冲突情况
      2. 修改冲突
      3. git status 查看冲突解决情况
      4. git add .
      5. git commit -m '解决冲突的注释说明'
      6. git push origin master

如果你用的是jetBrains家的IDE,比如intellij idea等,已经提供了很好的解决冲突的可视化界面:

  1. 如果出现需要手动解决的冲突,下图的Resolve Conflicts会变为可选。(若有冲突但却无法看到Resolve Conflicts可选时,可以点一下Branches刷新一下idea即可)

2、点击Resolve Conflicts就会出现下图。

AS提供三种解决方案,"Accept ****"就是字面上的意义,"Merge"是手动解决,AS会提供更直观的图形界面。

3、点击上图冲突文件,即可出现下图,最左边是你本地项目当前所处的分支,最右边是你要与你当前分支进行合并的分支。中间则是合并后的结果预览。图上那些有颜色覆盖的代码就是有冲突的地方,不同颜色代表不同意思。
分隔线里的"Ⅹ >>"是AS提供给你的解决冲突操作方法。X代表放弃、>>代表选择。

当所有"Ⅹ >>"都处理后,idea会自动提示解决冲突完毕。

然后就可以提交和推送到远程库了

猜你喜欢

转载自blog.csdn.net/Smile_Qian/article/details/93717028
今日推荐