在推送之前丢弃Mercurial中的本地分支

ora*_*rad 21 mercurial branch clone

很多时候,我在我的本地Hg存储库上提交的内容很少,我不想推送,有时我想完全删除本地分支.但我不能回滚多个提交,这使我别无选择,只能创建一个新的克隆并再次下载整个存储库.这感觉很愚蠢,因为如果我可以删除我的本地分支,无论如何都没有影响远程存储库,那么我就不必创建和设置新的克隆.那么,它是如何在Mercurial中,还是有某种方法可以丢弃本地分支?

谢谢!

Rem*_*ank 16

如果启用mq扩展(与Mercurial捆绑),则可以使用hg strip.但要小心,因为这会修改存储库的历史记录.安全方法是将存储库克隆到创建要放弃的分支之前的版本,然后拉出要保留的其余变更集.


Jaf*_*ain 5

我知道为时已晚,但它可能对任何人有用:

如果您的分支尚未推送。

  • hg rollback仅当您已完成提交但尚未推送时才首次回滚更改
  • 第二次运行 hg update --clean
  • 第三次运行 hg branch any-existing-branch
  • 第四次运行 hg pull -u