Git合并合并所有跟踪文件(快照)或更改的文件?

时间:2018-06-02 02:15:29

标签: git git-merge merge-conflict-resolution

假设我们有三个文件1 2 3并且它们在每个文件中都有初始值6(提交一个)

  • 在分支1中,提交:a(666),b(166),c(126)d(663)
  • 在分支2中,提交:a(666),e(777)

其中:

  • b将file1 6更改为1
  • c将file2 6更改为2
  • d将file1 file2更改回6并将file3更改为3
  • e将file1 file2 file3更改为7

当我将分支1合并到branch2时,只有file3有合并冲突吗? 这是为什么?

我的理解是,提交d和提交e会将所有跟踪文件合并在一起,以便所有文件都有合并冲突吗?

1 个答案:

答案 0 :(得分:0)

合并冲突通常发生在并发修改上(在文件的同一行)。

在您的更改序列中,仅在branch1和branch2中修改了file3 因此合并将有意义:

  • 从branch1到branch2的报告(合并)修改,其中commit d恢复了ab的更改(返回6):合并包括从branch2继续修改。
  • 检测file3的冲突,该冲突在以下位置修改:
    • commit d(branch1)
    • 提交e(branch2)