【问题标题】:Using mercurial why would I ever want to merge without committing?使用 mercurial 为什么我想在不提交的情况下合并?
【发布时间】:2014-01-11 22:15:54
【问题描述】:

也许我对多年的svn 有偏见,但我为什么要与不同的分支合并,然后在提交之前进行一些更改。 hg 输出本身暗示了其他情况:

(branch merge, don't forget to commit)

亲爱的hg,那你为什么不为我做呢?

【问题讨论】:

  • 我不是 mercurial 专家,但它可能认为合并可能需要一些手动调整,并且它不想使用自动生成的不正确合并创建提交。

标签: version-control mercurial merge


【解决方案1】:

因为不能保证合并操作产生正确的输出(自动合并可能会使用错误的启发式方法来处理冲突,手动合并可能会出现人为错误)。通常,您会做以下事情:

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

【讨论】:

    【解决方案2】:

    Mercurial 确实另有建议,它只是提醒:“所有与合并相关的更改仅存储在工作目录上,将结果提交到存储库以永久存储”并且不禁止您进行提交前对代码进行了一些额外的更改。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-17
      • 1970-01-01
      • 2012-01-25
      • 1970-01-01
      • 2022-01-05
      相关资源
      最近更新 更多