很多时候,我在我的本地Hg存储库上提交的内容很少,我不想推送,有时我想完全删除本地分支。但我不能回滚多个提交,这使我别无选择,只能创建一个新的克隆并再次下载整个存储库。这感觉很愚蠢,因为如果我可以删除我的本地分支,无论如何都没有影响远程存储库,那么我就不必创建和设置新的克隆。那么,它是如何在Mercurial中存在,还是有某种方法可以丢弃本地分支?
谢谢!
答案 0 :(得分:16)
如果启用mq扩展名(与Mercurial捆绑在一起),则可以使用hg strip
。但要小心,因为这会修改存储库的历史记录。安全方法是将您的存储库克隆到创建要丢弃的分支之前的版本,然后拉出要保留的其余变更集。
答案 1 :(得分:3)
如果您发现自己经常这样做,也许您应该使用书签而不是命名分支。 http://stevelosh.com/blog/2009/08/a-guide-to-branching-in-mercurial/
答案 2 :(得分:1)
我知道它为时已晚,但它可能对任何人都有用:
如果尚未推送您的分支。
// example to convert text box value to 'DateTime' instance
// if you have specific format, better to use DateTime.ParseExact or DateTime.TryParseExact
DateTime endDate = Convert.ToDateTime(endDateTb.Value); // or endDateTb.Text property
// compare both dates
if (DateTime.Today > endDate)
{
// execute delete query here
}
时,
尚未推送hg rollback
hg update --clean
hg branch any-existing-branch