hg st -i
显示所有被忽略的文件。如果我忽略一些外部库,这可能是一个巨大的列表。是否可以只看到文件被忽略的目录?或者其他一些巧妙地总结哪些文件/目录被忽略的方法?
问问题
77 次
2 回答
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
于 2013-11-03T19:51:25.473 回答
0
以下在存储库的根目录中运行:
cat ./.hgignore
或在窗户上:
type .\.hginore
将显示您的存储库忽略规则。
这可以由 glob 和/或正则表达式模式和特定文件名组成,对于 glob 部分,任何以结尾的路径/
都将忽略整个目录和任何子目录,格式的模式*.ext
将忽略所有子目录中的扩展名,dir/*.ext
将忽略 sub 中的扩展名- 指定的目录等
偶尔手动重构此文件是值得的,因为您可能会发现有许多单独的文件被忽略,这些文件作为模式或目录忽略更好。
于 2013-11-04T04:58:00.193 回答