【问题标题】:hg strip vs hg backout and hg reverthg strip vs hg backout and hg revert
【发布时间】:2012-12-18 13:37:28
【问题描述】:

mercurial命令有什么区别,

  • hg strip
  • hg backout
  • hg revert

所有这些命令基本上都用于恢复/撤消早期变更集的影响。

【问题讨论】:

标签: mercurial tortoisehg


【解决方案1】:

在某个时刻,我必须构建 Jenkins 管道,每次作业开始时都应该在其中恢复 POM 文件。我面临的问题是:如何反向还原所有 POM 文件。

由于这个答案是谷歌上的第一个答案,我想为有同样问题的人贡献我的解决方案

hg revert */pom.xml

【讨论】:

    【解决方案2】:

    hg strip 从存储库中删除变更集及其所有后代。就好像这些变化从未存在过一样。在 public 变更集上使用它时要小心,因为它不会从任何其他存储库中删除它,并且下次拉取时会取回它们。

    hg backout 创建一个新的变更集来扭转早期变更集的影响。旧的变更集仍将保留在存储库中,但新的变更集也会保留以删除更改。

    hg revert 带有修订版将工作副本更新到指定的修订版。如果您随后提交该工作副本,它将具有恢复所有更改的效果。

    其他答案以及有关还原和退出的更多信息:

    【讨论】:

    • 您好,hg backout 会恢复在错误合并中发生的文件添加/删除吗?顺便说一句,我已经尝试过,发现新文件保留在 repo 中
    • 在处理 UNPUSHED 变更集时,我看不出“hg strip --keep tip”和“hg backout”(使用 Mercurial 4.5.2 尝试)之间的区别——两者都删除了最新的变更集/提交并保留更改
    猜你喜欢
    • 2012-11-25
    • 2011-01-15
    • 2019-01-06
    • 1970-01-01
    • 2010-11-14
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    相关资源
    最近更新 更多