一组开发人员如何通过mercurial修复以前版本中的多个错误?

Nic*_*ges 2 workflow mercurial

好的,你很好的人很好地回答了我的问题,我很感激.

但是,现在我意识到这不是一个正确的问题,所以我有另一个问题(虽然我认为前一个问题对其他人有用).

和以前一样,我们在单个存储库中使用mercurial.我们有一个主分支和一个开发分支(以及功能分支,但它们与手头的问题没有密切关系).

我们用版本标记主分支(5.1.0.102等).我们在发展上做我们的发展.

我真正想要做的是将许多不同的修复程序从先前版本中捆绑在一起,以便创建维护版本,这是一组修复程序.

或者,像以前一样,这是我真正需要的:

  1. 以一组开发人员可以协同工作的方式更新到我们发布的地址(例如6.1.1)
  2. 那群开发人员修复了一堆bug.
  3. 标记结果代码状态为(6.1.2)
  4. 构建这个新的6.1.2代码库.
  5. 将这些修复程序迁移到develop分支中
  6. 这样做我可以回到6.1.2并在需要时修复bug

或者,我需要根据以前的版本创建维护版本,其中包括各种开发人员的工作.

我怎样才能做到这一点?

ang*_*son 5

您之前提出的问题的接受答案仍然存在,您在问题中概述的方式是......嗯......正确的方法.

所以基本上我不明白你在问什么或为什么.

这是你应该做的.

  1. 其中一位开发人员通过更新回到上一版本的焦点(即6.1.1版本的变更集)来启动工作
  2. 然后,他进行了一些与错误修正,提交和推送回中央存储库相关的更改.请注意,这将创建另一个头.这很好(如果没有,请参见下文)
  3. 他的老虎队的其他开发人员,并更新到这个新头,并根据需要添加他们对错误修正,提交和推/拉的贡献
  4. 在某些时候,您有一个新版本,如6.1.2,因此您为最终的变更集创建了一个标记
  5. 然后你更新到前一个头(你开始这整个工作之前的那个头)并在6.1.2头中合并,这将所有这些错误修正带回到主分支以用于将来的版本

它看起来像这样:

旧版本中的错误修复

这里的R5将是合并提交,如果你忽略6.1.2中的所有错误修正,R4将是当前的头.

然后,如果你想再回来修复一些6.1.3版本,它会看起来像这样(你遵循与上面完全相同的计划):

更多错误修正

这里R9将是你项目的下一个主要版本的当前负责人,而R10将是合并提交,它将进入6.1.3的错误修正带回到未来的版本中.