我的。net解决方案中有很多项目。我想排除所有“bin/Debug”和“bin/Release”文件夹(及其内容),但仍然包括“bin”文件夹本身和其中包含的任何dll。

.gitignore与"bin/"忽略"调试"和"释放"文件夹,但也任何dll包含在"bin"文件夹。

.gitignore文件中的bin/Debug或bin/Release并不排除目录,除非我完全限定忽略模式为Solution/Project/bin/Debug——我不想这样做,因为我需要为解决方案中的每个项目包括这个完整的模式,以及为添加的任何新项目添加它。

有什么建议吗?


当前回答

这个问题并不是问是否忽略所有子目录,但我在任何地方都找不到答案,所以我将它发布为:*/*。

其他回答

除了在.gitignore文件中添加正确的条目外,如果你试图忽略已经添加到repo中的内容,你必须执行git rm -r /path/to/dir,并在将dir添加到.gitignore文件之前提交。否则git唯一会忽略的就是你的ignore指令。

上面所有的答案都是有效的,但我认为没有提到的是,一旦你从该目录添加一个文件到repo,你就不能忽略包含该文件的目录/子目录(git会忽略该指令)。

忽略已添加的文件运行

$ git rm -r --cached .

否则,您必须首先从回购的目标目录中删除所有文件-然后您可以忽略该文件夹。

这个问题并不是问是否忽略所有子目录,但我在任何地方都找不到答案,所以我将它发布为:*/*。

要排除内容和子目录:

**/bin/*

要排除所有子目录,只保留内容,添加"/":

**/bin/*/

要忽略所有子目录,您可以简单地使用:

**/

从git的1.8.2版本开始。