Git 合并两个文件时拾取的文件中的更改
例如,我有这样的历史Git 合并两个文件时拾取的文件中的更改,git,merge,Git,Merge,例如,我有这样的历史 A -> B -> C -> F -> G ---------- feature \ D -> E -------- master 在整个历史中,我有一个文件a.txt,第一行是“sometext”。 在提交时,我决定删除“sometext”,并将第一行留空。然后我合并这两个分支。将形成一个新的提交,第一行为空。因此E包含“sometext”行,而G不包含。所以这是正在合并的分支之间的区别。gi
A -> B -> C -> F -> G ---------- feature
\
D -> E -------- master
在整个历史中,我有一个文件a.txt,第一行是“sometext”。
在提交时,我决定删除“sometext”,并将第一行留空。然后我合并这两个分支。将形成一个新的提交,第一行为空。因此E包含“sometext”行,而G不包含。所以这是正在合并的分支之间的区别。git如何决定在合并提交中包含什么?是因为G是在E之后进行的吗?在这种情况下,它将识别两个分支的共同祖先
C
,并比较每个分支C..G
与C..E
上自该祖先以来的变化
由于C..E
不触及该行,但C..G
触及该行,因此采用了G
的更改。如果两个分支以不同的方式更改了同一行,它将要求您手动解决冲突
这是一个:有关一些讨论,请参阅;有关更多合并选项,请参阅文档中的部分