我意外地在本地提交了一堆文件,但没有推送。所以基本上我想要做的是删除这个我的提交,然后推送一些其他的更改。
我可以通过回退来删除提交,然后我必须在本地提交,所以它实际上是在本地删除的。
因此,我的问题是,如果我执行推送,我的意外提交及其对应的恢复日志是否会公开可见?
发布于 2012-09-12 01:17:25
听起来hg rollback就是你想要的命令。
hg backout 创建一个新的commit,该commit撤销在<REV>中所做的更改。原始提交和取消提交都将保留在您的历史记录中。这是在将错误提交推送到公共位置后必须修复的为数不多的几个选项之一。
然而,在这种情况下,您还没有向公众推送,所以有更好的解决方案。
如果错误提交是最后一次提交(即提示),那么您可以使用hg rollback (在TortoiseHg中的Repository菜单下)。此命令类似于提交时的"undo“。
如果错误提交在您的历史记录中的其他地方(但仍未推送到公共repo),您还可以使用mq extension重写该部分历史记录。
发布于 2014-10-29 02:15:11
您可以使用hg strip -r . --keep而不是hg rollback。只有当你推入你的提交时,hg backout才是必要的。
发布于 2017-01-26 13:36:56
对你的问题的简单回答是“是”。
如果您执行回退,那么它将显示在您的历史记录中。
您想要按照前面的建议执行一次拆卸。
这是mercurial的扩展。
https://stackoverflow.com/questions/12372647
复制相似问题