commit-pull-merge-push或pull-merge-commit-push?

Syl*_*ain 25 mercurial dvcs

几个星期前我们开始使用Mercurial.大多数开发人员都遵循此工

  • 处理功能
  • commit -m"工作在功能ABC上"
  • 拉-u
  • 如果分支
    • 合并
    • commit -m"Merge"

今天,我们的一位开发人员建议我们这样做:

  • 处理功能
  • 拉-u
  • 如果分支
    • 合并
  • commit -m"工作在功能ABC上"

这样,我们在日志中的"合并"变更集就少了很多.

我们中的一些人认为这只是一个问题偏好.我们中的一些人认为一个比另一个好.我们没有太多经验,也不想生活滥用工具的缺点.因此,如果一种方法比另一方更可取,请告诉我原因.

Ry4*_*ase 21

我更喜欢你原来的程序,但合理的人肯定不同意.我考虑合并一个实际的软件开发工作,并希望它在我们的过程中成为一流的公民.

在你的第二个/建议的程序中,风险是拉力做一些你真正不想要的东西,然后你很难将它与你已经完成的工作分开.

对于那些无法忍受冗长历史的人来说,通常的首选工作流程是:

  • 处理功能
  • 承诺
  • 拉 - 基地

--rebase启用rebase扩展后,选项显示在pull上.我并不喜欢反思,因为它在技术上重写了历史,这与多变量应该如何运作是对立的,但在这一点上,我处于一个迅速萎缩的少数.

最重要的是,如果你真的不想让一个分支历史使用rebase - 不要更新为未提交的更改,因为它很难撤消.

  • 值得庆幸的是,我的团队中没有一个人喜欢--rebase选项.我同意你的看法,合并应该仍然是一流的公民(这就是我们首先采取多变的原因!)....另外,我真的很喜欢看所有相交线的图形.比颠覆棒更有趣.:) (2认同)