Mercurial:如何在修改后恢复提交

标签 mercurial

我运行了 hg commit --amend 来修改提交,但现在我想回到修改之前的提交。 hg log 中似乎没有显示修改前提交的提交哈希。那么我该怎么做呢?

最佳答案

如果启用 evolve extension ,使用“hg commit --amend”删除的变更集不再被覆盖。相反,它们被过时标记隐藏,但仍然可以查看并恢复到正常的变更集。

要从命令行查看隐藏的变更集,只需将 --hidden 添加到普通命令,例如“hg glog --hidden -l 10”。在 Tortoise 中,过滤器工具栏 (^S) 有一个显示隐藏变更集的图标。

Evolve 还不是官方 Mercurial 的一部分,但应该会成为官方 Mercurial 的一部分。 [如您所见,乌龟已经支持它了。]我已经使用它很长时间了,而且效果很好。这比四处寻找旧包要容易得多,旧包的名称从您不再记得的日期起就被赋予了晦涩难懂的名称。完整的历史记录都在您的本地存储库中。

关于Mercurial:如何在修改后恢复提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28182559/

相关文章:

Mercurial pre-push hook 扫描工作副本

git - 我可以像 git 一样跳过 Mercurial 预提交钩子(Hook)吗?

git - 我如何让两个 "streams of development"(分支?)相互跟踪,同时以特定方式保持不同?

mercurial - 如何为 Mercurial 编写一个智能推送,即在推送之前进行拉取和 merge ?

version-control - 如何列出我创建的所有文件?

powershell - 使用 hg purge 时排除目录

email - 一旦有人推送到某个存储库,是否有可能让 Mercurial 向地址列表发送电子邮件?

mercurial - Kdiff3 总是显示 "Qt: qcolorFromCGColor: cannot convert from colorspace model: 0"

mercurial - 修改推送提交的提交消息。 ( Mercurial )

version-control - 在 Windows 中安装 SCM Manager(Mercurial 管理 Web 前端)