2010-09-01 85 views
1

我在trunk中有一个file.txt文件,并且我创建了一个基于名为Branch的中继的分支。 该file.txt的包含以下作为内容: 一个 b Ç d关于在颠覆/合并关注/ git

,并在分支,我修改了file.txt的是

a 
c 
d 
e 

所以后我合并分支回到卡车,然后file.txt的成为本:(我相信我做了这几个文件合并我需要每次都重新创建一个分支后,我从分支合并到主干?)

a 
b 
c 
d 
e 

嗯,这是我不期望的,因为我对这个文件进行了修改,我想把文件的确切副本合并到trunk中。

那么我的要求与合并无关?或者可以合并做到这一点?

这就是我弄糊涂了。我从文件中删除的内容将被视为差异,它可以合并到主干吗?

谢谢。

+0

您是否广泛修改并重命名d - > e?因为Git不是真正的重命名,所以Git不会理解它。 – alternative 2010-09-01 19:50:32

+0

@ mathepic:我不是在谈论文件名,而是文件内容 – zsong 2010-09-01 19:55:21

回答

0

合并工具并不神奇。他们会尽最大努力,但在很多情况下,这是不够的。你永远不应该依靠自动合并。

也就是说,大多数合并工具应该已经捕获了行“b”的删除和行“e”的添加。

+0

另外,git并没有试图在设计上过于聪明地进行合并。 – 2010-09-01 19:55:44

0

使用git,我做到了这一点,并以'acde'结束。但是,如果我使用--strategy =我们的结果,我会以'abcde'结尾。所以你可以采取任何方式,取决于你选择的合并策略。 Subversion可能有类似的方法来做到这一点。