擦除从未推过的分支

时间:2012-10-19 12:15:56

标签: mercurial branch backout

我刚刚发现有人在一段时间前就在本地做了一些更改,那就是修订版#410,现在正确的版本是#638 ......在那个人的善变历史中创造了一个分支,我想得到摆脱它...我试图执行撤消>退出......但它不会让我......

我收到的错误信息是:

error message

那个人的Mercurial历史:

Branch that was never pushed

我可以做些什么来摆脱那个分支?应该做的改变之前已经进行了一些修改......

2 个答案:

答案 0 :(得分:4)

您可以使用mq-extension的strip command,例如:hg strip 410

答案 1 :(得分:2)

该错误似乎是因为您在不同的分支上,然后以下内容可能会起作用:

hg up -r 410
hg backout -r 410
hg merge
hg commit

但是,这将添加一个不相关的变更集和您不关心的合并。你可以这样做,而不是:

hg clone -r tip repo repo1      # This should strip the unwanted changeset
cp repo/.hg/hgrc repo1/.hg/hgrc # This will copy any repo customizations
rm -rf repo                     # Delete original repo
mv repo1 repo                   # Replace original repo

以上命令是Unix / Linux命令,看起来您可能在Windows上。如果是,只需将命令替换为Windows等效命令即可。如果你不明白,我可以编辑我的答案。