Git은 하위 디렉토리의 특정 파일을 무시하지만 전부는 아닙니다.
다음과 유사한 구조가 있습니다.
/root/
/root/data/
/root/data/script.php
/root/data/some.json
/root/data/feature/one.json
/root/data/feature/two.json
/root/data/other-feature/one.json
/root/data/other-feature/important-script.php
git 이 '/ data / ...'경로 아래의 모든 .json
파일 을 무시 하고 싶지만 '/ data /'에는 때때로 하위 디렉터리가 포함되어 있습니다.
나의 이해는 간단한 것입니다 data/*.json
(가)로 gitignore에 만, 하나의 디렉토리를 일치 *
일치하지 않는 /
에서 언급 한 바와 같이, http://git-scm.com/docs/gitignore , "패턴 형식", 총알 # 6 :
그렇지 않으면 git은 패턴을 FNM_PATHNAME 플래그와 함께 fnmatch (3)에서 사용하기에 적합한 쉘 glob으로 취급합니다. 패턴의 와일드 카드는 경로 이름의 /와 일치하지 않습니다. 예를 들어 "Documentation / *. html"은 "Documentation / git.html"과 일치하지만 "Documentation / ppc / ppc.html"또는 "tools / perf / Documentation / perf.html"과는 일치하지 않습니다.
이 작업을 수행하는 간단한 방법이 있습니까? 아니면 각 하위 디렉토리에 gitignore 파일을 명시 적으로 추가해야합니까?
나는 최근에 그러한 문제에 대한 게시물을 작성했습니다. 를 참조하십시오 여기 .
기본적으로 당신이 필요로하는 하나를 넣어하는 것 .gitignore
와 *.json
에 /data/
디렉토리.
UPD : git 1.8.4 ( msysgit를 사용하는 경우 1.8.2 )부터 다음과 같은 이중 별 패턴을 사용할 수 있습니다./data/**/*.json
당신은 배치 할 수 있습니다 data/**/*.json
귀하의 .gitignore
에서의 /root
여러 방지하기 위해 디렉토리를 .gitignore
다른 디렉토리에있는 파일을
**/
-모든 하위 디렉터리 수 (현재 포함)와 일치
예 : data/**/*.json
레코드를 무시합니다 data/1.json
, data/subfolder/2.json
,data/../../3.json
이 패턴은 png 및 jpg 파일 만 무시하는 데이터 하위 폴더에 적합합니다.
**/data/**/*.png
**/data/**/*.jpg
참고 URL : https://stackoverflow.com/questions/6794717/git-ignore-certain-files-in-sub-directories-but-not-all
'Programing' 카테고리의 다른 글
Java에서 곱하고 나누는 것보다 비트 이동이 더 빠릅니까? (0) | 2020.11.19 |
---|---|
/ public의 정적 HTML 페이지로 라우팅 (0) | 2020.11.18 |
Jekyll과 함께 MathJax 사용 (0) | 2020.11.18 |
패키지 관리자에 액세스 할 수 없습니다. (0) | 2020.11.18 |
crontab을 사용하여 MySQL 데이터베이스의 압축 파일을 올바르게 생성하기위한 mysqldump 및 gzip 명령 (0) | 2020.11.18 |