首页 > 解决方案 > TortoiseHG 工作台

问题描述

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

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

我该如何解决这个问题?请让我尽可能简单,因为我没有大量的经验在此处输入图像描述

谢谢

标签: mercurialtortoisehg

解决方案


如果您不需要这两个变更集 100 和 101 并且想要摆脱它们,您可以从历史记录中删除(剥离)它们。首先确保扩展已激活(文件>设置>扩展)。现在右键单击变更集 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 之上。现在您应该可以推送了。


推荐阅读