2009-11-05 103 views
3

所以我有我的主分支,以及分支'bob'。Git合併並解決當前分支的任何衝突

我已經在兩個方面做了很多改變,現在我想合併到bob的主人,讓他更新。唯一的問題是,如果有衝突,我希望它自動解析爲bob。

我已經提出以下建議:

git checkout bob 
git merge master -s ours 

這不工作,因爲我甚至不得到主人不衝突的變化。

請幫忙!

+1

「我們」的合併策略意味着從我們的分支獲取**版本**,而不是**解決衝突**,以支持我們的分支。 – 2009-11-06 22:50:11

回答

1

首先,你需要的所有更改合併來自大師鮑勃:

  • 從主所有的修改都必須被添加到鮑勃如果沒有衝突
  • 任何衝突必須通過保持擺錘的內容來解決科。

問題「How do I tell git to always select my local version for conflicted merges on a specific file?」解釋瞭如何使用合併驅動程序執行此操作。

一旦合併已經完成,一個簡單的:

git checkout master 
git rebase bob 

允許主人的頭快進到Bob的一個。師父將從那裏繼續從鮑勃的內容。

+0

我知道:在我之前對第一個問題的回答中,我已經提到了合併驅動程序,但它確實符合您當前的需求。 – VonC 2009-11-05 23:17:08

+0

使用合併驅動程序看起來像很多工作..我會認爲會有這樣的一些簡單的命令。 我在哪裏可以找到關於合併驅動程序良好toturial? – tybro0103 2009-11-06 06:00:02

0

我看到與我們的合併策略的差距。如果集成自己的合併驅動程序太多,並且如果您喜歡Emacs,請考慮使用ediff作爲您的「合併工具」。你可以告訴它「更喜歡」你在衝突中的貢獻。除了只關注衝突的變化之外,您還可以在提交之前查看合併結果,以確保僅記錄您的貢獻仍然會產生連貫的文件。

不幸的是,ediff尚未被集成爲受支持的合併工具。來自2007年6月的git郵件列表上的This thread描述了一些集成問題。 Here的另一個。

混帳不附帶內置支持出現,另一個Emacs的合併模式,但我更喜歡遠ediff