2012-08-28 123 views
0

我有兩個遠程分支,「葡萄」和「主人」。我目前在「葡萄」上。修復合併衝突?

現在我切換到「大師」:

git checkout master 

現在我想拉從「葡萄」到「主人」的所有變化 - 這是做?:

git merge origin grape 
方式

這是我的理解,然後git會將遠程分支「grape」的所有當前狀態都拉到我的本地副本「master」中。它會嘗試爲我自動合併。如果存在衝突,衝突中的文件會將一些衝突文本實際注入到文件中。然後我必須進入這些文件,並刪除我不想要的塊(主要是告訴git如何合併這些文件)。

對於衝突的每個文件,做我添加並再次提交更改?:

git add problemfile1.txt 
git commit -m "Fixed merge conflict." 

git add problemfile2.txt 
git commit -m "Fixed another merge conflict." 

... 

,我已經修復所有的合併衝突像上面後,我只是推到「主」再次完成這一進程?:

git push origin master 

還是有別的東西,我們需要的時候,我們進入這個衝突狀態呢?

謝謝

+0

在這個時間的一個問題,你寫這個完整的帖子,你可以谷歌的答案或在這裏搜索stackoverflow;)http://git-scm.com/book/en/Git-Branching-Basic-Branching-並且合併 – Stony

+0

在所有衝突解決後確實提交一次。並且不指定提交消息,它會自動爲合併提交生成。 – kan

回答

0

origin引用另一個服務器上的另一個存儲庫;通常,它指的是您從中取回回購的github服務器。如果你想合併葡萄和主分支,那麼你會git merge grape,解決任何衝突,並且你可以將更新推送到服務器。

通過查看和編輯文件說明存在衝突的文件是您希望它們最終結束的方式,將它們添加到索引並提交,從而解決合併問題。

+0

好吧,所以,而不是「git合併起源葡萄」,我應該做「git合併葡萄」? 「葡萄」分支確實也是一個遠程分支,這就是爲什麼我在那裏需要「起源」而感到困惑。 – user291701

+0

@ user291701是的,如果你需要更多['man git-merge'](http://www.kernel.org/pub/software/scm/git/docs/git-merge.html)可以幫助你。 –

0

在我看來,你應該首先解決所有的合併在手動文件有衝突然後,你可以提交併推送掌握,它會工作。

如果你這樣做,你的提交歷史將充滿垃圾提交,如果你與朋友一起工作任何projet,這可能真的很煩人。