如何recursion地.gitignore文件
我试图避免在我的.gitignore
文件中的以下模式。
MyPrject/WebApp/Scripts/special/*.js MyPrject/WebApp/Scripts/special/*/*.js MyPrject/WebApp/Scripts/special/*/*/*.js MyPrject/WebApp/Scripts/special/*/*/*/*.js MyPrject/WebApp/Scripts/special/*/*/*/*/*.js MyPrject/WebApp/Scripts/special/*/*/*/*/*/*.js MyPrject/WebApp/Scripts/special/*/*/*/*/*/*/*.js
我们尝试了:
MyPrject/WebApp/Scripts/special/**.js MyPrject/WebApp/Scripts/special/**/*.js
但是这并没有奏效。 这是Windows上的git。 有没有更简洁的方法来做到这一点,而不重复的事情?
从git 1.8.2开始,这个:
MyPrject/WebApp/Scripts/special/**/*.js
应该按照这个答案工作 。 它也适用于我在Windows 7中使用Sourcetree 1.6.12.0和它安装的git版本(1.8.4-preview20130916)。
以recursion方式对目录下的每个文件和文件夹进行gitignore:
MyPrject/WebApp/Scripts/special/**
关注gitignore手册页面:
git把这个模式当作一个适合fnmatch(3)用FNM_PATHNAME标志消费的shell glob:模式中的通配符不会和path名中的/匹配。
所以,这清楚地表明,没有办法在两个string之间指定一定数量的目录 ,例如在special
和js
之间。
尽pipe如此,你可以在每个目录下有一个.gitignore
文件,所以在你的情况下可能有以下内容
*.js
在下面的地方
MyPrject/WebApp/Scripts/special/.gitignore
就足够了?