如何将文件还原为';最后签入';在Mercurial州?
我在光盘上有一个假设的Mercurial存储库。我正在创建一个新功能,当我意识到我把正在处理的文件弄得一团糟,并想将该文件恢复到上次提交的状态时 我可以使用如何将文件还原为';最后签入';在Mercurial州?,mercurial,undo,Mercurial,Undo,我在光盘上有一个假设的Mercurial存储库。我正在创建一个新功能,当我意识到我把正在处理的文件弄得一团糟,并想将该文件恢复到上次提交的状态时 我可以使用hg update刷新存储库中的工作副本,但这会更新每个文件 是否有一个mercurial命令可以只更新一个文件?我相信您可以键入hg revert/path/to/file/,它将只更新该文件。有一个mercurial命令可以还原文件hg revert这将还原任何更改。您还可以将文件名传递给它,例如hg revert fileNamehg
hg update
刷新存储库中的工作副本,但这会更新每个文件
是否有一个mercurial命令可以只更新一个文件?我相信您可以键入
hg revert/path/to/file/
,它将只更新该文件。有一个mercurial命令可以还原文件<代码>hg revert这将还原任何更改。您还可以将文件名传递给它,例如hg revert fileName
hg revert fileName
将该文件还原回您所在的版本。
如果要还原所有更改,可以运行hg revert--all
这两个文件都将生成fileName.orig文件,因此您可以保留要还原的更改,以防万一。如果要还原该文件而不是所有.orig文件,可以添加-C
选项:
hg还原文件名-C
hg revert--all-C
不,就是Git在Git checkout
中有这种奇怪的行为(在Mercurial中,hg checkout
是hg update
的别名)。我发现最好将*.orig
添加到我的.hgignore
文件中,然后把.orig
文件留在周围。也许有一天我会需要它们:)如果它们打扰了你,那么你可以使用清除扩展来清理它们。