为什么git merge会在不同的文件中产生冲突?

时间:2013-10-18 16:00:57

标签: git merge conflict

我正在尝试将分支与主分支合并。令人惊讶的是,git识别出不同文件之间的冲突! 我习惯于在同一个文件中发生冲突,但无法理解不同文件之间冲突的概念。

情况如下:

  • 有2个分支:masterbranch1
  • file1.ini
    • in master:已被删除
    • branch1中的
    • :已被修改(与使用master的共同祖先相比)
  • master有一个新文件:folderA/file2.ini
  • file1未移至folderA/file2.ini

合并命令后:

  • file1.ini已被删除
  • new'folderA / file2.ini`包含冲突标记,如:

    <<<<<<< HEAD:file1.ini

    ...

    =======

    ...

    >>>>>>>主:folderA / file2.ini

我对文件混合感到困惑。

1 个答案:

答案 0 :(得分:1)

Git根据文件相似性进行动态重命名检测。已移除的file1.ini与保留的folderA/file2.ini更相似,而不是删除,因此git尝试将其视为重命名和编辑。

(简而言之,在这种特殊情况下,它只是一种算法失败。)