Chr*_*cht 8 version-control mercurial tortoisehg
假设我克隆了一个远程Mercurial存储库(通过本地网络甚至通过Internet)来尝试一些东西.
我在我的克隆中工作,做了一些提交......然后我意识到我的改变没有意义,我必须重新开始.
所以我希望从同一个源库中再次获得一个"新鲜"的克隆.
基本上,我想在我开始试验之前"重置"我的本地回购.
最好/最快的方法是什么?
最简单的方法是创建一个新的克隆,然后HG再次通过网络复制整个repo和整个历史记录.
如果回购非常大,这将花费一些时间和/或阻止网络.
我试图在同一个文件夹中创建一个新的克隆(希望HG能识别这个并只更新已更改的文件和历史记录),但这似乎也复制了整个repo.
我可以"hg rollback",但这只回滚了最后一次提交.如果我做了几次提交,我只能撤消最后一次提交.因此,在开始提交之前,我无法将回购重置为重置点.
有任何想法吗?
除了再次克隆整个事物之外,真的没别的办法吗?
(注意:使用TortoiseHg的解决方案会很好......我更喜欢这个命令行)
Ry4*_*ase 18
你会hg strip像Gizmo建议的那样结束我们,但传统的做法是再次克隆 - 不是来自远程仓库,而是来自你自己的本地仓库.例如,如果checkout是'repository',并且您添加了您不喜欢的更改集99和100:
cd ..
hg clone -r 98 respository repository-scrubbed
mv repository respository-with-crap-I-do-not-want
mv repository-scrubbed repository
Run Code Online (Sandbox Code Playgroud)
那应该是近乎瞬间的.