파일을 재귀 적으로 .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

이 답변 에 따라 작동 합니다. 또한 Sourcetree 1.6.12.0과 설치하는 git 버전 (1.8.4-preview20130916)을 사용하는 Windows 7에서도 작동합니다.

디렉토리 아래의 모든 파일과 폴더를 재귀 적으로 gitignore하려면 :

MyPrject/WebApp/Scripts/special/**

답변

다음 gitignore 매뉴얼 페이지 :

[…] git은 패턴을 FNM_PATHNAME 플래그를 사용하여 fnmatch (3)에서 사용하기에 적합한 쉘 glob으로 취급합니다. 패턴의 와일드 카드는 경로 이름의 /와 일치하지 않습니다.

그래서,이 명확하게 지정하는 방법이 없다는 것을 의미 디렉토리의 일정 금액을 사이처럼 두 개의 문자열 사이에 specialjs.

그럼에도 불구하고 .gitignore디렉토리 당 파일을 가질 수 있으므로 귀하의 경우 다음 내용이

*.js

다음 장소에서

MyPrject/WebApp/Scripts/special/.gitignore

충분할까요?


답변

이것은 osx에서 나를 위해 작동합니다.

lib64/**/__pycache__/
lib/**/__pycache__/
*.py[cod]
.ipynb_checkpoints/
**/.ipynb_checkpoints/
.DS_Store
**/.DS_Store

답변

실행 시도 git rm -r --cached MyPrject/WebApp/Scripts/special/
귀하 언급 한 디렉토리가 자식 캐시되었을 수 있습니다 및 비 추적 파일에 표시됩니다. 캐시를 지운 후에 언급했는지 확인하십시오 .gitignore.