我正在学习Git,并且发现this site上的教程非常有用。在该页面上,关于合并,它包括:
+---------- (D) ---------------+ / | \ (A) -- (B) -- (C) -------------- (E) -- (F) | | fix-headers master | HEAD
合并提交是(F),有 父母(D)和(E)。因为(B)是 (D)和。之间的共同祖先 (E),(F)中的文件应包含 (B)和(D)之间的变化, 即标题修订,纳入 从(E)进入文件。
我不明白为什么你会担心共同的祖先B.你为什么不能合并D和E来产生F? D将来自B,但可能包含您想要的差异。 B和D之间可能有许多提交,并且正在进行更改。
答案 0 :(得分:4)
(我不敢问这是个傻瓜,我不想侮辱任何人......)
也许你不明白这是git合并 你呢?
问题:这是D和E,你能告诉我F应该是什么样的吗?
D E
using System; using System;
public void main() public void main()
{ {
Console.WriteLine("hello world"); Console.WriteLine("Hello world!");
} }
回答:不,你不能
但是,如果你知道B看起来像这样:
B
using System;
public void main()
{
Console.WriteLine("hello world");
}
它变得毫无疑问, git可以自行处理。
Dunno如果能回答你的问题......
答案 1 :(得分:2)
这很简单,因为如果您了解共同的祖先,合并会更好。见this answer,它有很好的解释原因。
答案 2 :(得分:1)
维基百科在3向合并上有good introduction