2012-09-28 134 views
1

比方說,我在主分支中的文件:避免合併衝突

Hello World! 

我創建了一個新的分支A和修改同一個文件:

Hello World! 
and a little more 

然後我修改同一個文件在主分支

Hello World, the bug is fixed! 

有沒有辦法到2個分支合併到:

Hello World, the bug is fixed! 
and a little more 

無需解決衝突?

PS:完全新的Git的,所以我可能會錯過一些東西很明顯 - 我使用NetBeans作爲IDE,並使用內置的合併功能

+0

可能重複[git和append-主要是文件的策略](http://stackoverflow.com/questions/11841127/strategy-for-git-和追加,主要是文件) – assylias

回答

2

衝突出現了模糊的和有時是不可避免的。嘗試使用像meld這樣的工具來幫助快速解決合併衝突並使其不那麼痛苦。

我也建議您在嘗試合併之前首先從您的工作分支執行rebase以從主服務器提取更改。首先在您的分支中本地解決衝突是一種很好的做法,這樣您可以輕鬆快速地合併。

3

當兩個更改正在修改相同部分的代碼時,會發生衝突。如果沒有人工參與,它不能自動解決,因爲機器無法準確知道文字合併是否有效。請看下面的例子:

基本版本:

char s[200]; 

月1日修改後的版本:

char s[100]; // reduce array size 

第二個修改版本:

char s[200]; 
s[199] = 0; 

如果合併工具做你的建議,結果將是:

char s[100]; // reduce array size 
s[199] = 0; 

顯然,結果是錯誤的。

所以不要指望機器能爲你解決衝突。我們的程序員保證在可預見的將來有這個特權,:)