我想我正在向后学习。我对git很满意,直到我最近的项目才开始使用mercurial。
困扰我的一件事是,由于未跟踪的文件错误,有时我似乎无法刷新我的开发环境。我真的不在乎是否在开发服务器上跟踪/取消跟踪文件。我只想从bitbucket中获取最新的repo状态。
不幸的是,我有时最终会尝试核对应用程序并重新克隆。通常情况下,这不是什么大不了的事情,但每次我执行此操作时都需要添加回应用程序,因为它们不存储在回购中。
使用git我会跑...
git reset --hard; git checkout master -f; git pull; git checkout origin/master -f
什么是mercurial等价物?我试过......
hg revert --all; hg pull; hg update;
这似乎有点像我期望的那样有效。当它不起作用时,由于未跟踪的文件错误而中止。我正在寻找一直有效的东西。
答案 0 :(得分:6)
hg up --clean
这就是它的全部。 (hg up
而不是hg update
,因为hg比git更酷,并且允许使用唯一的缩写。我不喜欢当我被迫使用git时它不接受git ci
这样的理智版本控制系统。我知道我可以做一个别名...但是我还没有完全解决它,因为我根本不经常使用它。
hg help [command]
(或hg [command] --help
)非常有用。 revert
的帮助提到您可能希望使用hg update -r rev
或hg update --clean .
。
这只会更改跟踪的文件。未经跟踪的文件将保持不变,我认为这就是你想要的。