hg st -i
显示所有被忽略的文件。如果我忽略了一些外部库,这可能是一个巨大的列表。是否可以只查看被忽略文件的目录?或者用其他方式整齐地总结哪些文件/目录被忽略了?
答案 0 :(得分:2)
如果您使用的是Unix(Linux / OS X),则可以轻松生成包含忽略文件的目录列表,其中包含以下单行内容。
% hg status -i
I .project
I project/doc/API-notes.bbl
I project/doc/API-notes.blg
I project/doc/API-notes.log
% hg status -ni | sed -e 's/^/.\//' -e 's/\/[^\/]*$/\//' | sort | uniq -c
1 ./
3 ./project/doc/
第一个sed
表达式在前面添加./
每个被忽略的路径。第二个表达式删除最后一个斜杠后的所有内容。我故意恢复斜线;如果你愿意,可以把它留下来。最后,sort | uniq -c
计算并删除重复。
PS。您可以将上面的内容转换为hg别名,以便您可以使用hg ignoredirs
运行它;只需将以下内容放入.hgrc
:
[alias]
ignoredirs = !$HG status -ni | sed -e 's/^/.\//' -e 's/\/[^\/]*$/\//' | sort | uniq -c
答案 1 :(得分:0)
以下在您的存储库的根目录中运行:
cat ./.hgignore
或在Windows上:
type .\.hginore
将显示您的存储库忽略规则。
这可以包含glob和/或正则表达式模式和特定文件名,对于glob部分,任何以/
结尾的路径都将忽略整个目录和任何子目录,格式为*.ext
的模式将忽略所有子目录中的扩展名,dir/*.ext
将忽略指定的子目录中的扩展名等。
值得手动重新分解此文件,因为您可能会发现忽略了许多单个文件,这些文件更好地作为模式或目录忽略。