mercurial - 放弃更改而不从历史记录中删除

标签 mercurial

有一个提交不起作用,所以我想放弃它而不将其从历史记录中删除

我已从早期版本更新并提交,从而创建了一个新头。

<小时/>

我没有分支,我不想要分支,我只想简单地继续使用新的头,就像它原来的样子,没有什么花哨的,没有 merge ,不用担心,只是继续忘记前一个。

我似乎无法找到如何做到这一点,并且我开始相信这是不可能完成的。我发现的只是有关分支的内容,或有关 merge 的内容。

最佳答案

使用您想要忘记的修订将存储库更新到头部,然后使用 hg commit --close-branch 将该(匿名)分支标记为关闭。然后更新到您想要的分支的头部,并继续工作。

如果对 hg Heads 使用 -c 选项,您仍然可以看到关闭的分支,但默认情况下它不会显示,并且 hg merge 会知道不要尝试与封闭的头部 merge 。

第一次将这个封闭的头推送到另一个存储库时,您将需要使用hg push --force,因为当您推送时,您实际上是在远程存储库中创建了其他头。因此,请告诉 Mercurial,使用 --force 就可以了。拉紧头部的人不会受到任何警告的困扰。

关于mercurial - 放弃更改而不从历史记录中删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3688263/

相关文章:

java - Jenkins : Cannot run program "hg"

version-control - 如何删除mercurial中特定类型的文件?

version-control - 如何处理与 hgsubversion 的 merge ?

mercurial - Mercurial 是否支持空提交消息?

ubuntu - Mercurial:是否可以避免任何代理设置?

mercurial - 在 Mercurial 中切换默认分支

mercurial - 将 DVCS 与 Visual Source Safe 相结合

version-control - Mercurial (hg) 仅提交某些文件

mercurial - 如何摆脱关于我的 .hgtags 文件的 "is not well formed"错误?

visual-studio - 分布式源代码管理不适用于 Visual Studio 用户?