如何向.gitignore中添加一些内容,使匹配不是递归的?
例如,我希望忽略当前目录中的目录foo和文件bar.txt,但不忽略子目录中存在的任何文件。
我已经在我的.gitignore文件中尝试过了:
foo/
bar.txt但不幸的是,git递归地应用了这一点,所以otherdir/bar.txt和otherdir/foo/也被忽略了,这不是我想要的。
( git中有没有一个命令可以显示所有被忽略的文件,并引用导致该文件被忽略的.gitignore文件?这对于调试很有用。)
发布于 2010-03-19 19:22:03
解决方案是在.gitignore条目上放置一个前导斜杠:
/foo/
/bar.txt(我以为我在StackOverflow上发帖之前已经试过了,但很明显我没有正确地试过,因为它工作得很好。)
发布于 2010-03-19 19:24:00
来自gitignore手册页:
一个可选的前缀!这将否定该模式;先前模式排除的任何匹配文件都将被再次包括在内。如果否定的模式匹配,这将覆盖优先级较低的模式源。
因此,将!*作为.gitignore中的第一行将清除所有以前的模式。
https://stackoverflow.com/questions/2476718
复制相似问题