2010-09-08 83 views
1

我不小心推动了一些没有准备好的主分支的变化,所以我立即退出。后来我尝试将树干中的新变化合并到我的分支中,但合并效果不佳。特别是,它似乎认为退出意味着我希望我的所有更改都没有完成。幸运的是,我修改的文件都没有被主分支上的更改修改,所以我可以将文件恢复为本地文件,但如果发生冲突,这可能会很麻烦。在这种情况下是否支持正确的做法,或者是否有其他事情可以在以后避免潜在的冲突。Mercurial撤销推送到主分支

回答

3

你想要rollback不是backout。回滚是最后一次拉(或接收推)或提交的一级撤消。回退,应用您指定的变更集的反转。

例如,如果你做了一个提交并意识到你在提交信息中有一个错字,你可以rollback(假如你没有做过其他的提交或提交,如果你意识到你的新的线程调度程序是一个不好的选择,你想撤消它,然后你做退出,这样历史反映了你下去的路径并决定不会 - 因为那也是有价值的信息。

如果你想撤消推送,你需要登录到接收端,并在那里回滚

0

也发生在我身上,如果它帮助其他人: 我的存储库不应该允许任何推送。做到这一点,把你的.hg/hgrc文件:

[hooks] 
prechangegroup = false 

也就是说,如果你想阻止任何人推入该存储库。