git冲突解决方法

转载 http://blog.csdn.net/afeionepiece/article/details/45695411

 

 

关于 git 的基本使用,可以参考 git-简易指南,这篇介绍了git的基本使用,但是对多人协作的时候,合并冲突的解决没有详细的介绍。本文结合自己使用的场景进行介绍

 

使用场景:

用户A和B在不同的电脑协同工作,使用github进行代码托管,使用仓库seefeelRepo

A对本地仓库(seefeelRepo)的文件X.txt做出了修改; 

B也对本地仓库的X.txt做出了修改,修改内容与A不同;

A先把本地修改同步到github;

之后,B要同步本地仓库到github,

 

一,把远端仓库fetch下来,同时merge

B要做的第一件事就是pull

$ git pull origin master

或者,用fetch + merge

$ git fetch orgin

$ git merge master origin/master

 

这里,origin/master就是远端(github)上面的仓库,master就是本地的仓库

如果有CONFLICT,接下来会提示

 

二,找到冲突

上面的意思是说, lecture-3存在冲突,自动合并失败,需要手动解决冲突

接下来执行 

$ git diff,它会告诉你那里存在冲突,如下图。

 

三,解决冲突

接下来,就要编辑这个文件,把冲突的部分解决掉。有必要还要跟协同工作的伙伴沟通一下。

冲突文件大概张成下面的样子

上图中被红框标记的部分,前两个红框之间的部分,是本地的内容。

后两个红框之间的部分,是origin/master远端的内容。怎么修改决定于你。但是最后要把红框红的内容删除

 

 

四,CONFLICT解决,同步远端

解决了冲突后,顺序执行add,commit,push到远端

$ git add lecture-3

$ git commit -m “bbbbb"

$ git push origin master

push之后,得到下图所示的内容

 

这时候如果再用pull指令,会提示already up-to-date

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章