2

我是 Git 新手(来自 Subversion 和 Bazaar)。

当我一直在处理一个分支并进行提交时,从那时起 master 发生了一些提交,当我将分支合并到 master 时,我发现了一些奇怪的情况:

  • 在我的提交和主人的提交中,我们都创建了一个具有相同路径的新文件。它决定用我的文件完全覆盖主文件,没有冲突警告!
  • 已在两个分支中修改的预先存在的文件向我显示冲突警告,并且为某些部分添加了内联注释,但对于其他部分,它实际上会在没有警告的情况下覆盖。

我可以告诉 Git 对这些冲突更严格吗?我不希望它在没有警告的情况下覆盖文件,如果它要评论文件供我检查,我希望它提供完全差异的绝对评论。

如果没有,我只好确定自己都修改过的文件,然后手动合并。

4

1 回答 1

2

当我尝试您的第一个场景时,我得到以下输出:

Auto-merging conflicted
CONFLICT (add/add): Merge conflict in <filename>

您的第二种情况将在两个版本之间不同的行上产生冲突,但不会在一个版本或另一个版本中发生变化的行上产生冲突。这是预期的行为。

Git 实际上比大多数其他 VCS 更好地处理这些类型的冲突。您的流程还有其他一些问题会导致问题。也许你有一些罕见的配置设置。也许您误解了您在其中一个命令上使用的标志的含义。也许有些文件实际上并没有提交到您或您同事的工作目录中。也许您在与您想象的不同的分支中。找到一个准确的、可重现的、不符合您预期的命令序列,我们可以尝试从那里帮助您。

于 2012-04-18T20:44:48.413 回答