我不小心在本地提交了一堆文件,但没有推送。所以基本上我想要做的是删除这个我的提交,然后推送一些其他的更改。
我可以通过 Backout-ing 删除提交,然后我必须在本地提交,所以它实际上是在本地删除的。
所以我的问题是,如果我进行推送,我的意外提交及其相应的恢复日志是否会公开可见?
我不小心在本地提交了一堆文件,但没有推送。所以基本上我想要做的是删除这个我的提交,然后推送一些其他的更改。
我可以通过 Backout-ing 删除提交,然后我必须在本地提交,所以它实际上是在本地删除的。
所以我的问题是,如果我进行推送,我的意外提交及其相应的恢复日志是否会公开可见?
这听起来像是hg rollback
你想要的命令。
hg backout <REV>
创建一个新的提交来反转<REV>
. 原始提交和回退提交都将保留在您的历史记录中。这是在将错误提交推送到公共位置后必须修复的少数选项之一。
但是在这种情况下,您还没有推向公众,因此有更好的解决方案。
如果错误提交是最后一次提交(即您的提示),那么您可以使用hg rollback
(Repository
在 TortoiseHg 的菜单下)。该命令类似于提交的“撤消”。
如果错误提交在您的历史记录中的其他位置(但仍未被推送到公共存储库),您还可以使用mq 扩展来重写您的历史记录的那部分。
您可以使用hg strip -r . --keep
而不是hg rollback
. hg backout
仅当您推送了提交时才有必要。
您的问题的简单答案是肯定的。
如果您执行退出,那么它将显示在您的历史记录中。
如前所述,您想要执行 Strip。
这是对 mercurial 的扩展。
https://www.mercurial-scm.org/wiki/StripExtension