我想把这个场景扔出去,看看最客观的,有香草的Mercurial解决方法是什么。
假设我的集中式Mercurial存储库中有以下分支,用于我的集中式非分布式Web应用程序:
repository
default
feature1
feature2
bugs
假设有十个开发人员已经修复了“bug”分支并推送了。现在让我们说是时候发布了。所以,我做了一些最终的测试,突然之间,我发现了修复错误的问题 - 这个问题需要花费几个小时来修复。所以,现在我有必须发布的超级关键错误修复,但是“错误”分支被锁定,我无法合并到“默认”分支并释放,因为半修复错误也将被释放,我不能让这种情况发生。
那我该怎么办?
我是否应该恢复bug分支中的更改,将bug合并为默认值,然后释放?如果有10个提交与此特定问题 - 错误修复相关 - 如何找到并还原所有这些?这听起来很毛茸茸,但让我说我这样做。当需要修复问题bug修复程序的开发人员拉动并更新其存储库时,该怎么办?他的改变将全部归还。他可以恢复原状......这是要走的路吗?
另一个选择是做一些樱桃挑选,并将我想要从'bugs'分支中发布的更改减去问题bug修复提交,并将其合并到'default'分支中。但这听起来比以前提出的解决方案更加毛茸茸。
你们都做了什么?
答案 0 :(得分:1)
我会创建一个新的分支(发布):
我会离开“bug”分支。没有樱桃采摘。