我经常担心我的hgignore文件可能会排除重要文件。例如,我只是注意到我排除了所有.exe文件,这些文件排除了一些应该与源保存的小型可执行工具。包含它们只是一个简单的改变,但让我担心这些规则会带来意想不到的后果。
有没有办法查看由于.hgignore
文件而未被跟踪的所有文件的列表?所以我可以定期查看列表,看看我对它很满意。
答案 0 :(得分:25)
命令hg status -i
正是这样做的。
答案 1 :(得分:13)
status -i
一起没有任何价值,有:
hg status -m
(仅修改过的文件)hg status -a
(仅添加了文件)hg status -r
(仅删除的文件)hg status -d
(仅限已删除的文件)hg status -u
(所有未跟踪的文件)hg status -c
(没有更改的文件,即。"清理")hg status -A
(所有文件,即所有文件)答案 2 :(得分:9)
如果您想对文件名进行手动检查,请使用-i/--ignored
标志进行状态:
$ hg status -i
I ignored file.exe
如果您想单独使用文件名,请使用-n/--no-status
取消打印在每个文件名前面的I
状态代码:
$ hg status -n -i
ignored file.exe
如果您需要使用xargs
处理文件,请另外使用-0/--print0
标记:
$ hg status -n -0 | xargs -0 touch
这将正确处理空间 - 使用-0
时,您可能会将ignored file.exe
视为两个文件:ignored
和{{1}因为shell通常在空格上分割。
以上命令会显示与<{1}} 匹配的未跟踪文件。如果您想解决找到与匹配file.exe
匹配的跟踪文件的相关问题,则需要使用fileset query。看起来像这样:
.hgignore
您可以将文件集与所有对文件进行操作的命令一起使用,因此您可以执行以下操作:
.hgignore
安排找到要删除的文件(工作副本中留有副本)。
答案 3 :(得分:4)
是的,这是可能的。 如果你像TortoiseHg一样使用smth,你可以选择你想看的文件。
这是一个示例