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

 

 

 

 

 

 

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