我想完全删除Mercurial提交,就像它从未进入存储库中一样,并返回到我之前的提交。
这个是可能的吗?
发布于 2013-08-30 04:29:27
要编辑历史记录,我将使用Histedit Extension扩展。
hg histedit 45:c3a3a271d11c
但是,请记住,只有在您尚未将提交推送到公共存储库、您拥有公共存储库和/或您可以考虑所有克隆的情况下,这才有意义。如果您收到以下错误:
abort: can't rebase immutable changeset 43ab8134e7af
这意味着draft
认为这是一个已经被推送的公共变更集(参见phases) --您可以再次强制它成为Mecurial:
hg phase -f -d 45:c3a3a271d11c
发布于 2011-02-23 06:46:33
你可以使用"hg backout“来做一个基本的反向合并。所有选项都在免费提供的"Mercurial: the Definitive Guide“一书中讨论:
http://hgbook.red-bean.com/read/finding-and-fixing-mistakes.html
发布于 2011-02-23 07:48:47
如果它不止一次提交,并且/或者您已经将其推送到其他地方,那么您可以克隆您的存储库,并指定应该克隆的最后一个变更集。
请看我的答案,看看怎么做:
Mercurial: Fix a borked history
如果您只在本地提交,而没有推送,那么您可以在本地创建一个克隆(如我的链接中所述),然后就完成了。
如果您已经推送到某个远程存储库,则必须将其替换为您的克隆。
当然,这取决于你是否能够(或允许)这样做。
https://stackoverflow.com/questions/5084915
复制相似问题