事情是这样的,分支A开发了多个功能(如abc等),c功能正在开发中,结果主管说要先上稳定版本(c功能不上了)。
于是我就从分支A中迁出分支B,接着再从分支A删除了c功能相关的代码。
本来是想着分支A测试完后上线,分支B继续开发c功能(继续添加代码)。
但是后面发现,当分支AB合入主干后,c功能相关的代码是会被删除的,应该是A分支上删除c功能相关的代码提交优先于B分支的提交,导致最终合并结果删除了c功能的代码。
虽然最终是解决了:从删除代码的A分支迁出新的分支,新分支在版本比较中添加回c功能代码然后提交,这样最终合并c功能代码是不会被删除的。
好像还有一种解决方式是将A分支的所有提交压缩成一次提交,这样在git提交上就不存在删除c功能代码的提交。
但我想问一下这种场景(先上阉割版)该如何处理才是最正确的?