2011-11-15 49 views
2

我想知道是否可以通過在「我們」之後附加「他們的」代碼塊來告訴git解決衝突。 他完全知道C語言代碼塊嗎?Git合併:我們的+他們的混合,忽略衝突。可能?

例子:

//====== ours ====== 
.... 
if(cond1) 
{ 
    do_smth(); 
} 
.... 

//====== their ====== 
.... 
if(cond2) 
{ 
    do_smth_else(); 
} 
.... 

通常在衝突這樣的合併結果,我想自動解決爲:

//======= merge result ======== 
if(cond1) 
{ 
    do_smth(); 
} 

if(cond2) 
{ 
    do_smth_else(); 
} 

謝謝!

回答

2

我知道將此標記爲衝突看起來像是一種煩惱,但它是通過設計。考慮下面的情況,您可以添加:

if(cond1 || cond2) 
{ 
    perform_action1(); 
} 

和他們補充:

if(cond1) 
{ 
    perform_action1(); 
} 

,他們可能增加不匹配你試圖完成的部分。如果他們的代碼被附加到你的,那麼perform_action1()將被調用兩次。

總之,沒有辦法自動合併,因爲幾次它會是一個壞主意,它會是一個真的壞主意。

0

您可以使用uniongitattribute

工會

潤3路文件級合併爲文本文件,但拿的不是讓衝突標記來自 版本線。這往往會使結果文件中的 添加行以隨機順序排列,用戶應該 驗證結果。如果您不瞭解 的含義,請不要使用它。

正如@Greyson所說,這對C代碼不是好主意。舉例來說,請參閱my answer的類似問題。

相關問題