我有3个分支
根据一般的分支策略,所有开发活动(签入/签出等)都在发布分支中执行,发布就绪代码合并到开发分支以及主分支。 / p>
我的期望:假设我在发布分支中总共有大约500次提交。我要求在发布分支的最终合并期间开发分支,开发分支应该具有整个提交历史的所有提交。即500个提交,而合并到主服务器不应该具有发布分支中发生的所有历史记录(提交)。
它应该更像是分支中第一次提交和最后一次提交的差异,而不是所有中间提交。 (主分支不应该有500个提交)
是否有可能实现这一点,如果是这样的话?
答案 0 :(得分:2)
听起来你想要squash your commits。
当您进行多次提交时,压缩提交非常有用,并且您希望将它们“压缩”为一次提交。
答案 1 :(得分:1)
压缩许多提交需要很长时间。你可以做的就是合并没有快进。
您可以遵循以下策略:
转移开发并运行
git merge release
然后转到掌握并运行
git merge --no-ff develop
这将在master中创建一个合并提交,它实际上相当于500次提交。
这种策略的优势在于它不会弄乱您的git历史记录,并且承诺不会被丢失'而挤压将完全修改你的历史,恕我直言,我不认为修改500件有价值的历史是一个好主意
答案 2 :(得分:0)
你可以创建一个可能叫做develop_merge的develop分支。压缩该分支上的提交,并将其合并到master中。原始分支仍然具有所有历史。