如何添加一些东西到.gitignore,使匹配不recursion?
如何添加一些东西到.gitignore
,使匹配不recursion?
例如,我希望忽略当前目录中的目录foo
和文件bar.txt
,而不是子目录中存在的目录。
我已经试过这个我的.gitignore
文件:
foo/ bar.txt
但不幸的是gitrecursion地应用这个,所以otherdir/bar.txt
和otherdir/bar.txt
otherdir/foo/
也会被忽略,这不是我想要的。
(git中是否有一个命令显示我所有被忽略的文件,并引用负责被忽略的文件的.gitignore
文件?这对于debugging很有用。)
解决方法是在.gitignore
条目上放置一个前导斜杠:
/foo/ /bar.txt
(我以为我在StackOverflow上发布之前就试过了,但是显然我没有正确地尝试过,因为这样做完美无缺。)
从gitignore手册:
一个可选的前缀! 否定了这种模式; 任何先前模式排除的匹配文件将再次包含在内。 如果否定模式匹配,则将覆盖较低的优先模式源。
所以!*
作为你的.gitignore的第一行将清除所有以前的模式。