Version control Mercurial:qrefresh用于选择文件
假设我已经更改了许多文件,当我执行hg状态时,它会出现如下结果:Version control Mercurial:qrefresh用于选择文件,version-control,mercurial,Version Control,Mercurial,假设我已经更改了许多文件,当我执行hg状态时,它会出现如下结果: M ../../file1 M ../../file2 M ../../file3 如果我只想对我对file2所做的更改执行qrefresh,并隐式放弃我对file1和file3所做的更改,使它们恢复到原始状态,该怎么办?mercurial有没有办法做到这一点?我对整个版本控制非常陌生。由于hg qrefresh将自动包含所有更改,您只需排除某些文件,刷新将从修补程序中删除这些文件的所有更改。然后您可以还原这些文件 这将刷新修补
M ../../file1
M ../../file2
M ../../file3
如果我只想对我对file2所做的更改执行qrefresh,并隐式放弃我对file1和file3所做的更改,使它们恢复到原始状态,该怎么办?mercurial有没有办法做到这一点?我对整个版本控制非常陌生。由于
hg qrefresh
将自动包含所有更改,您只需排除某些文件,刷新将从修补程序中删除这些文件的所有更改。然后您可以还原这些文件
这将刷新修补程序中除file1
和file3
之外的所有内容(修补程序现在不包含以下任何一项的更改):
现在file1
和file3
仍有一些更改,需要恢复:
hg revert ../../file1 ../../file3
这会将当前版本更改为。/../file1.orig
和。/../file3.orig
,以防您再次需要更改。您还可以添加--no backup
开关,这些开关将不会被创建
您也可以按相反的顺序执行此操作:
hg revert ../../file1 ../../file3
hg qrefresh
这次刷新不需要参数,因为与工作目录的父目录相比,这两个文件没有变化,因此将从修补程序中消失(刷新修补程序基本上会重新写入修补程序)。这是我要做的,但我还想演示-X
开关
查看
hg-help-revert
和hg-help-qrefresh
了解更多信息。还可以查看hg-qrefresh.././file2
注意,这将忘记当前修补程序中的所有其他文件。
hg revert ../../file1 ../../file3
hg qrefresh