合并冲突没有显示出来

时间:2018-03-20 01:43:41

标签: git merge

所以我试图将我的开发分支合并到我的主分支中。我的团队一直在研究的主分支在很长一段时间内都没有被触及,除了意外合并然后在一段时间之前恢复。

现在当我尝试合并分支时,我的dev分支中的新代码会被旧代码覆盖。它刚刚被替换就不会产生冲突。有些文件被完全删除。

看看我的项目是什么样的 y-d合并是一个错误,并在e中恢复 f从那以后一直由队友犯下。 当我尝试合并6和g时遇到问题。但是,如果我将HEAD重置为c并合并它可以完美地工作。

MASTER a-b-c-------------d-e-f--g
            \           /      /
dev          1-2-3-----/--4-5-6
                  \   /  /
hotfix             x-y---

我要么知道为什么我的代码被覆盖而没有冲突。或者让我的开发代码覆盖我的主代码。

非常感谢任何帮助。如果需要更多信息,请告诉我。在过去的8个小时里,我一直在谷歌搜索和尝试解决方案。

1 个答案:

答案 0 :(得分:1)

revert a revert的情况。如果你想先测试,你可以这样做:

MASTER a-b-c---------------d-e-f----------g (merge --no-ff)
revert_e    \             /     \--e'    /
             \           /          \   /
dev           1-2-3-----/--4-5-6-----7-8
                   \   /  /
hotfix              x-y---

创建一个临时分支revert_e,在其中恢复e,重新应用d,并将其与修补程序一起合并到dev中(gitflow建议合并来自master的修补程序,因为它们完成)。然后你可以做测试,也许可以修复一些东西。合并新版本时使用git merge --no-ff,以防止仅将master转发至8