Mercurial:如何恢复清除文件的更改,除了那些被忽略的文件(由'.hgignore'覆盖)?
Mercurial: how to revert changes purging files except those ignored (covered by '.hgignore')?
我在 Mercurial 版本控制下对我的代码进行了一些探索性更改,所以之后我想放弃所有更改并返回到远程仓库中的最后一个版本。
hg pull
hg update -r default -C
hg --config "extensions.purge=" purge --all
我没有意识到这会删除所有未跟踪的文件,包括那些被忽略的文件。特别是像 .settings
这样的 eclipse 目录。显然我不想删除那些。
我知道我可以将模式与清除命令一起使用,而且大多数时候我只想在源代码目录下进行更改时使用它,但如果我不仅在 src
下进行了更改,而且 config
,在项目目录级别添加了一个文件等等,有没有什么办法可以让 purge 自动从 .hgignore
文件中提取文件和目录,这样我就不必考虑了我有未跟踪文件的所有目录和文件?
好吧...您明确使用了一个表示 "delete everything, even if ignored" 的标志。来自 hg help purge
:
--all purge ignored files too
因此,如果您跳过要清除的“--all”参数,它应该可以工作。
我在 Mercurial 版本控制下对我的代码进行了一些探索性更改,所以之后我想放弃所有更改并返回到远程仓库中的最后一个版本。
hg pull
hg update -r default -C
hg --config "extensions.purge=" purge --all
我没有意识到这会删除所有未跟踪的文件,包括那些被忽略的文件。特别是像 .settings
这样的 eclipse 目录。显然我不想删除那些。
我知道我可以将模式与清除命令一起使用,而且大多数时候我只想在源代码目录下进行更改时使用它,但如果我不仅在 src
下进行了更改,而且 config
,在项目目录级别添加了一个文件等等,有没有什么办法可以让 purge 自动从 .hgignore
文件中提取文件和目录,这样我就不必考虑了我有未跟踪文件的所有目录和文件?
好吧...您明确使用了一个表示 "delete everything, even if ignored" 的标志。来自 hg help purge
:
--all purge ignored files too
因此,如果您跳过要清除的“--all”参数,它应该可以工作。