轉載 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