Eclipse上GIT插件EGIT使用手冊之八_解決推送沖突

jopen 12年前發布 | 113K 次閱讀 Eclipse Git 版本控制系統

多人協作開發的情況下,往服務器推送更新時難免出現沖突,所以推送之前需要解決服務器端的最新版本和本地倉庫的沖突。Pull操作就是把服務器端的更新拉攏到本地倉庫進行合并,解決好合并沖突后,就可以順利push到服務器分支了。

假設現在Mairo兄弟在用GIT協作開發NewSuperMairoBro游戲,目前服務器端的mushroom.java文件的內容如下:

Eclipse上GIT插件EGIT使用手冊之八_解決推送沖突

MairoBro克隆出代碼后,Mairo哥哥做了如下修改

Eclipse上GIT插件EGIT使用手冊之八_解決推送沖突

Mairo弟弟做了如下修改

Eclipse上GIT插件EGIT使用手冊之八_解決推送沖突

然后Mairo弟弟先push代碼,Mairo哥哥使用pull來合并本地倉庫和遠程倉庫,將發行文件出現沖突,此時GIT會自動合并沖突的文件,如下圖所示:

Eclipse上GIT插件EGIT使用手冊之八_解決推送沖突

Eclipse上GIT插件EGIT使用手冊之八_解決推送沖突

Eclipse上GIT插件EGIT使用手冊之八_解決推送沖突

很明顯自動合并的沖突文件不能直接使用,我們可以手動調整,右鍵發生沖突的文件,選擇Team -> Merge Tool

Eclipse上GIT插件EGIT使用手冊之八_解決推送沖突

第一項是將GIT自動合并過的文件和服務器端文件進行對比

第二項是用本地最新版本的文件和服務器端文件進行對比,建議用此項

接下來就是熟悉的對比界面

Eclipse上GIT插件EGIT使用手冊之八_解決推送沖突

Mairo哥哥將沖突文件修改如下

Eclipse上GIT插件EGIT使用手冊之八_解決推送沖突

然后右鍵點擊此沖突文件,選擇Team -> Add to index再次將文件加入索引控制,此時文件已經不是沖突狀態,并且可以進行提交并push到服務器端

Eclipse上GIT插件EGIT使用手冊之八_解決推送沖突

解決合并沖突后,Mairo弟弟只需要將服務器中合并后的版本pull到本地,就完成了一次協作開發的代碼合并。從歷史記錄中可以看到,從mushroom開始歷史進入分支,先是mushroomA的記錄,然后是mushroomB的記錄,最后歷史分支合并。

Eclipse上GIT插件EGIT使用手冊之八_解決推送沖突

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!