【问题标题】:TortoiseHG : Removing commitTortoiseHG:删除提交
【发布时间】:2012-09-11 14:58:42
【问题描述】:

我不小心在本地提交了一堆文件,但没有推送。 所以基本上我想做的是删除这个我的提交,然后推送一些其他的更改。

我可以通过 Backout-ing 删除提交,然后我必须在本地提交,所以它实际上是在本地删除的。

所以我的问题是,如果我进行推送,我的意外提交及其相应的恢复日志是否会公开可见?

【问题讨论】:

    标签: mercurial tortoisehg


    【解决方案1】:

    听起来hg rollback 是你想要的命令。

    hg backout <REV> 创建一个新的提交,以逆转在<REV> 中所做的更改。原始提交和回退提交都将保留在您的历史记录中。这是您在将错误提交推送到公共位置后必须修复的少数选项之一。

    但是在这种情况下你还没有推向公众,所以有更好的解决方案。

    如果错误提交是最后一次提交(即您的提示),那么您可以使用 hg rollback(在 TortoiseHg 的 Repository 菜单下)。这个命令就像对提交的“撤消”。

    如果错误提交在您的历史记录中的其他位置(但仍未被推送到公共存储库),您还可以使用 mq extension 重写您的历史记录的那部分。

    【讨论】:

    • hg 回滚已弃用。
    【解决方案2】:

    您可以使用hg strip -r . --keep 代替hg rollbackhg backout 只有在你推送了提交时才需要。

    【讨论】:

      【解决方案3】:

      您的问题的简单答案是肯定的。

      如果您执行退出,那么它将显示在您的历史记录中。
      如前所述,您想要执行 Strip。

      这是对 mercurial 的扩展。
      https://www.mercurial-scm.org/wiki/StripExtension

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-18
        • 1970-01-01
        • 2012-04-27
        • 1970-01-01
        • 2019-02-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多