2012-04-29 232 views
6

我和我的朋友從主倉庫(上游)分叉。昨天晚上,我們在本地機器上安裝了這個版本庫。然後我添加了一項新功能,我的朋友也添加了另一項新功能。我的朋友將請求提交到主存儲庫,並且我已將此請求與上游存儲庫合併,沒有衝突。當我從上游獲取並與我的主分支合併時,它會發生衝突。 在這種情況下我應該怎麼做才能解決衝突? (上游存儲庫在解決衝突後應該有兩個新功能)合併衝突Git

回答

4

只需檢查標記爲git status的衝突文件並找到衝突標記(您可以在文件中搜索====)。協調它們之間的變化,弄清楚是否有任何意外被代碼組合破壞,運行測試,然後像平常一樣使用git addgit commit,以提交合並你的朋友的新功能。

Upstream: original     with friend's feature   with both 
       \ \    /    \    /
       \ -- Friend's --/     \   /
       \         \   /
        ---- Yours ------------------------- your merge 
+0

謝謝信息是真的很有幫助。 – 2012-06-28 04:22:45

1

您可以在控制檯輸入git difftool path/filename使用工具來解決衝突,或者使用已經解決衝突的建於Git的軟件。我真的很喜歡SmartGit(從的SmartSVN的製造商)和TortoiseGit(非常類似於TortoiseSVN的)。

10

請注意,您也可以直接解決在Eclipse /例如:It本身就是一個合併衝突:
請參閱「Egit: Solving Merge Conflicts」:

您可以手動編輯在左側的文本或使用從複製電流變化從右到左按鈕將衝突的更改從右向左複製。

下一步是從文件的上下文菜單中選擇Team - > Add to index。比承諾。

merge conflict resolution in EGit

+0

另請參閱http://stackoverflow.com/questions/11674950/how-to-do-an-ours-merge-using-the-eclipse-git-merge-tool作爲該工具用法的示例。 – VonC 2012-08-28 11:56:37