是否与Mercurial的常规做法不断融合?这个工作流程出了什么问题?

Cha*_*son 6 merge mercurial

我的公司正在转向Mercurial,我们来自Subversion.

我们注意到我们必须在工作流程中进行大量合并.例如,如果我更改文件,提交,拉取,更新,推送,然后我的同事更改文件,提交,拉取和更新,他会收到"交叉分支"错误并且必须执行hg合并.我们每次想要推送到中央存储库时,我们都必须这样做.

我们的工作流程有问题吗?似乎错误的是,在我们的历史记录中,对于给定文件,将会有大量的历史条目说"与[changeset id]合并""与[changset id]合并."

这只是它的方式吗?或者我们做错了什么?

Bor*_*lid 4

这没有什么问题。绝大多数合并应该是自动的。你做到了当你们都从相同的修订版本中进行更改并且朝着不同的方向进行更改时,

如果您想消除“合并”变更集(这实际上不是问题),您可以更改/拉取/变基/提交/推送,而不是更改/提交/拉取/合并/提交。换句话说,在提交更改之前,将其重新设置为新提示。

  • Boo 建议 rebase 而不警告某人这是重写历史的一种形式,并且存在合并永远不会发生的潜在数据丢失。Mercurial 工作流程涉及合并。 (3认同)
  • 是的,这是一个更传统的 Mercurial 工作流程。我并不是说任何人都不应该使用 rebase,但应该始终警告他们,与传统工具相比,它更像是在玩火。Mercurial 的主要作者非常认同 Mercurial 无需启用任何扩展即可完全使用的想法,我同意。就我个人而言,我喜欢合并历史——它让我回想起我的 CVS 日子并开怀大笑。:) (2认同)