合并期间Git会覆盖文件 - 不会显示冲突

Eri*_*and 9 git github git-merge

可能重复:
Git - 如何在所选文件上强制合并冲突和手动合并

我们正在尝试在两个分支之间进行合并:稳定代码和新功能.

合并功能对我们不起作用:它有时会显示冲突,但通常只是覆盖文件而不告诉我们任何冲突,可能与它认为正确的版本有关.

是否可以阻止此覆盖,以便向我们显示所有冲突的行?我们尝试使用git diff来了解它有多广泛,但有几千行,因为我们在我们的稳定分支上进行了相当广泛的调试...所以我们真的需要让合并功能工作,如果可能的话.

所以我们处于一个混乱的状态,将非常感谢所有的帮助.

Mas*_*Man 2

由于我不知道如何重现您的问题,因此我需要做一些猜测。

根据我的经验,通常可以通过git pull --rebase在合并之前执行 a 来减少围绕 git merge 的混乱。这会从远程获取最新的更改,并将您的更改合并到它们之上。但是,如果您打算将更改合并到先前的提交中,请不要执行此操作。无论如何,在执行之前记下最新的提交 ID pull,以便在出现问题时可以恢复到它。

现在谈到合并本身,您可以尝试使用git merge --no-ff --no-commit来阻止合并被提交。我不知道这是否会给您提供您想要看到的完整冲突报告,但它允许您检查合并结果(如模拟模式)。如果您不喜欢结果,可以使用 恢复合并git reset --hard