使用mercurial为什么我会想要合并而不提交?

时间:2014-01-11 22:15:55

标签: version-control mercurial merge

也许我对svn多年来有偏见,但为什么我会想要与不同的分支合并,然后在提交之前进行一些更改。 hg输出本身另有说明:

(branch merge, don't forget to commit)

亲爱的hg,那你为什么不为我做这件事?

2 个答案:

答案 0 :(得分:5)

因为合并操作不能保证产生正确的输出(自动合并可以使用不良的启发式方法来处理冲突,手动合并可能会受到人为错误的影响)。通常,您将采取以下措施:

  1. 合并。
  2. 构建
  3. 测试。
  4. 如果测试失败,请解决问题,请返回2.
  5. 提交。

答案 1 :(得分:1)

Mercurial 建议否则,它只是提醒:“所有与合并相关的更改仅存储在Working Dir中,将结果提交到存储库以进行永久存储”并且不禁止您进行提交前代码中的一些其他更改。

但是任务的分离(合并和不与合并变更相关 - 即不是由合并冲突引起的变化)到单独的变更集中无论如何都是好主意