Eclipse上GIT插件EGIT使用手冊--解決推送衝突

多人協做開發的狀況下,往服務器推送更新時不免出現衝突,因此推送以前須要解決服務器端的最新版本和本地倉庫的衝突。Pull操做就是把服務器端的更新拉攏到本地倉庫進行合併,解決好合並衝突後,就能夠順利push到服務器分支了。java

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

public class Mushroom{
    public int mushroom;
}

MairoBro克隆出代碼後,Mairo哥哥作了以下修改spa

public class Mushroom{
    public int mushroomA;
}

Mairo弟弟作了以下修改code

public class Mushroom{
    public int mushroomB;
}

而後Mairo弟弟先push代碼,Mairo哥哥使用pull來合併本地倉庫和遠程倉庫,將發行文件出現衝突,此時GIT會自動合併衝突的文件,以下圖所示:orm

很明顯自動合併的衝突文件不能直接使用,咱們能夠手動調整,右鍵發生衝突的文件,選擇Team -> Merge Tool索引

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

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

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


Mairo哥哥將衝突文件修改以下class

而後右鍵點擊此衝突文件,選擇Team -> Add to index再次將文件加入索引控制,此時文件已經不是衝突狀態,而且能夠進行提交併push到服務器端

解決合併衝突後,Mairo弟弟只須要將服務器中合併後的版本pull到本地,就完成了一次協做開發的代碼合併。從歷史記錄中能夠看到,從mushroom開始歷史進入分支,先是mushroomA的記錄,而後是mushroomB的記錄,最後歷史分支合併。

相關文章
相關標籤/搜索