2012-09-28 133 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; 

显然,结果是错误的。

所以不要指望机器能为你解决冲突。我们的程序员保证在可预见的将来有这个特权,:)