Как.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

Это, однако, не сработало. Это git на Windows. Есть ли более лаконичный способ сделать это, не повторяя вещи?

2 57

2 ответа:

начиная с git 1.8.2, это:

MyPrject/WebApp/Scripts/special/**/*.js

должно работать согласно ответ. Он также работает для меня в Windows 7, используя Sourcetree 1.6.12.0 и версию git, которую он устанавливает (1.8.4-preview20130916).

чтобы gitignore каждый файл и папку в каталоге рекурсивно:

MyPrject/WebApp/Scripts/special/**

Следующая страница руководства пример:

[...] git рассматривает шаблон как оболочку глобус подходит для потребление fnmatch(3) с флагом FNM_PATHNAME: wildcards in шаблон не будет соответствовать / в пути.

Итак, это ясно означает, что нет никакого способа указать определенное количество каталогов между двумя строками, как между special и js.

тем не менее, вы можете иметь .gitignore файл в каталоге, так что, возможно, в вашем случае следующее содержание

*.js

в следующем месте

MyPrject/WebApp/Scripts/special/.gitignore

будет достаточно?