所以我试图将我的开发分支合并到我的主分支中。我的团队一直在研究的主分支在很长一段时间内都没有被触及,除了意外合并然后在一段时间之前恢复。
现在当我尝试合并分支时,我的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个小时里,我一直在谷歌搜索和尝试解决方案。
答案 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