我目前正在使用TortoiseHg (Mercurial),不小心提交了一个错误的提交消息。如何在存储库中编辑这条提交消息?
当前回答
上面讨论的一个小宝石-感谢@Codest和@Kevin Pullin。 在TortoiseHg中,在提交按钮旁边有一个下拉选项。选择“修正当前修订”会带回注释和文件列表。所以有用。
其他回答
我以前是这么做的:
想象一下,您有500个提交,错误的提交消息在r.498中。
hg qimport -r 498:tip
hg qpop -a
joe .hg/patches/498.diff
(change the comment, after the mercurial header)
hg qpush -a
hg qdelete -r qbase:qtip
回滚-重新应用是一个非常简单的解决方案,但它只对最后一次提交有帮助。Mercurial Queues功能强大得多(注意,为了使用“hg q*”命令,您需要启用Mercurial Queues Extension)。
上面讨论的一个小宝石-感谢@Codest和@Kevin Pullin。 在TortoiseHg中,在提交按钮旁边有一个下拉选项。选择“修正当前修订”会带回注释和文件列表。所以有用。
我知道这是一个老帖子,你把问题标记为答案。我正在寻找同样的事情最近,我发现histedit扩展非常有用。这个过程解释如下:
http://knowledgestockpile.blogspot.com/2010/12/changing-commit-message-of-revision-in.html
使用MQ扩展和调试命令还有另一种方法。这是在不丢失数据的情况下修改历史记录的一种通用方法。让我假设和安东尼奥的情况一样。
// set current tip to rev 497
hg debugsetparents 497
hg debugrebuildstate
// hg add/remove if needed
hg commit
hg strip [-n] 498
推荐文章
- 为什么我需要显式地推一个新分支?
- 没有。Git目录的Git克隆
- 在TortoiseHg储存密码
- Git与Mercurial仓库的互操作性
- “node_modules”文件夹应该包含在git存储库中吗
- 为什么要把Gradle Wrapper提交给VCS?
- 自定义SSH端口上的Git
- Hg:如何做一个像git的rebase
- Mercurial:我可以重命名分支吗?
- Git克隆/拉不断冻结在“存储密钥在缓存?”
- 如何使用Git向远程存储库进行初始推送?
- 从pull请求中删除一个修改过的文件
- 在Mercurial中是否有删除本地提交的方法?
- Mercurial:如何修改上次提交?
- 如何使用TortoiseHG进行分支