release
分支分叉develop
分支。 release
分支的更改。 revert
中没有develop
。featureX
开始develop
分支。release
合并到featureX
以进行任何修补程序。featureX
合并到develop
。develop
中。请记住,(3)这不是故意的。我们如何修复此工作流程?
我尝试了什么:
a)我在revert + revert's revert
中做了develop
。但是当featureX
合并develop
时,我仍会看到代码丢失。
b)我先将revert + revert's revert + develop
合并到featureX
,然后featureX
合并到develop
。我仍然看到代码丢失。
什么是正确的方法?
来自git的合并文档:
Then "git merge topic" will replay the changes made on the topic branch since it diverged from master (i.e., E) until its current commit (C) on top of master, and record the result in a new commit along with the names of the two parent commits and a log message from the user describing the changes.
由于revert
中的develop
在revert
中与release
的提交ID不同,因此git无法了解它。 :(
答案 0 :(得分:0)
永远不要将发布中的修补程序合并到功能分支中。在我看来,只有将修补程序合并回来才能将开发和开发合并到功能分支中以使它们保持最新。
所以,为了解决你的问题,我会这样做:
此处不应丢失任何更改。这是有效的,因为您在合并到功能之前恢复了开发时的恢复更改。
这会产生副作用,即发布中的不更改存在于功能中,而您的方法则不然。