【问题标题】:TortoiseHG WorkbenchTortoiseHG 工作台
【发布时间】:2020-02-04 15:39:30
【问题描述】:

您好,我是乌龟 hg 的新手。我对代码进行了一些更改(修订版 100 和 101)并意识到我不需要它们。我因此“更新”(右键更新)到 99,然后继续开发。现在我尝试使用按钮提交到服务器,但出现错误:

中止:推送在分支“Marc-dev”上创建新的远程头 66444791e8ed! 提示:合并或查看 'hg help push' 了解有关推新头的详细信息

我该如何解决这个问题?请让我尽可能简单,因为我没有大量经验

谢谢

【问题讨论】:

    标签: mercurial tortoisehg


    【解决方案1】:

    如果您不需要这两个变更集 100 和 101 并且想要摆脱它们,您可以从历史记录中删除(剥离)它们。首先确保 strip 扩展已激活(文件 > 设置 > 扩展)。现在右键单击变更集 100 并从上下文菜单中选择 Modify History > Strip。该函数删除选定的变更集及其子项。您也可以在终端使用hg strip 100 执行此操作。

    移除第二个头后,您现在应该可以推送您的更改了。

    编辑:我刚刚注意到您可能已经将变更集 100/101 推送到远程服务器。在这种情况下,您不能简单地删除它们。相反,您可以撤消多余的更改并将最新更改重新设置在初始分支之上:

    从命令行更容易做到这一点:

    hg up 101
    hg backout 101
    hg backout 100
    hg rebase -s 102 -d 105
    

    backout 命令会创建两个额外的变更集,可能是 104 和 105。rebase 将您的两个新变更集 102/103 移动到 105 之上。现在您应该可以推送了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-11
      • 1970-01-01
      • 2013-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 1970-01-01
      相关资源
      最近更新 更多