cor*_*nus 34 version-control mercurial dvcs revert
如何在Mercurial中获取文件的早期版本的副本,而不在工作区中创建该文件的新默认工作副本?
我找到了hg revert命令,我认为它符合我的要求,但我不确定.
我需要获取我的代码的早期版本的副本才能使用几分钟.但我不想打扰当前正常工作的版本.
所以我打算这样做:
hg revert -r 10 myfile.pls
Run Code Online (Sandbox Code Playgroud)
有没有办法将它输出到不同的目录,所以我的文件的当前工作版本不受干扰?就像是:
hg revert -r 10 myfile.pls > c:\temp\dump\myfile_revision10.pls
Run Code Online (Sandbox Code Playgroud)
Mar*_*ler 52
在cat命令可用于检索文件的任何修订:
$ hg cat -r 10 myfile.pls
Run Code Online (Sandbox Code Playgroud)
您可以使用输出将输出重定向到另一个文件
$ hg cat -r 10 myfile.pls > old.pls
Run Code Online (Sandbox Code Playgroud)
或者使用--output旗帜.如果您需要为多个文件执行此操作,请查看archive命令,该命令可以为整个项目执行此操作,例如,
$ hg archive -r 10 ../revision-10
Run Code Online (Sandbox Code Playgroud)
这将创建一个文件夹revision-10,其中包含您在修订版10中查看的存储库的快照.
但是,大多数情况下,您应该使用update命令检出早期版本.更新是用于在提取新更改后使工作副本保持最新的命令,但该命令还可用于在需要时使工作副本过期.所以
$ hg update -r 10 # go back
(look at your files, test, etc...)
$ hg update # go back to the tip
Run Code Online (Sandbox Code Playgroud)
您使用的命令是:
hg cat -r 10 myfile.pls > C:\temp\dump\myfile_revision10.pls
Run Code Online (Sandbox Code Playgroud)
了解一点Unix有助于Mercurial命令.也许cat应该有一个内置的别名print或类似的东西.