自Mercurial上次提交以来,您如何放弃所有存储库更改?
我认为这是revert
命令,因为这实际上会将工作目录更新为最后一次提交。我只想撤消存储库中的更改(添加文件,删除文件等)。
但是,我是Mercurial的新手,所以我可能会遗漏一些东西。
答案 0 :(得分:8)
你确实想要revert
。两个命令revert
和update
是免费的。它们都会更新工作目录中的文件,但update
也会更新父版本(请参阅hg parents
),而revert
则不会。如果您的父版本是tip
(通常是这样),那么在这种情况下要么做,要么更喜欢revert
。
示例:
ry4an@hail [~/hg/test] % hg stat
? newfile
? output.patch
? this
ry4an@hail [~/hg/test] % hg add newfile
ry4an@hail [~/hg/test] % hg stat
A newfile
? output.patch
? this
ry4an@hail [~/hg/test] % hg revert --all
forgetting newfile
ry4an@hail [~/hg/test] % hg stat
? newfile
? output.patch
? this
答案 1 :(得分:2)
上一个问题可能有所帮助: Mercurial — revert back to old version and continue from there
特别是马丁的“备忘单”答案。
答案 2 :(得分:2)
可以使用以下命令撤消对本地副本尚未提交到存储库的任何更改:
hg update -C
即更新清洁。