.gitignore에서 부정 패턴은 어떻게 작동합니까?
부정 된 패턴 (!로 시작하는 줄)이있는 .gitignore 파일을 사용하려고하지만 예상대로 작동하지 않습니다.
최소한의 예로서 다음과 같은 디렉토리 구조가 있습니다.
C:/gittest
-- .gitignore
-- aaa/
-- bbb/
-- file.txt
-- ccc/
-- otherfile.txt
내 gitignore 파일에 다음이 있습니다.
aaa/
!aaa/ccc/
이 문서 페이지를 기반으로 한 내 이해 는 aaa / ccc / otherfile.txt 파일을 무시해서는 안되지만 실제로 git은 aaa 아래의 모든 것을 무시하고 있습니다.
이 문장을 오해하고 있습니까? "패턴을 무효화하는 선택적 접두사!; 이전 패턴에서 제외 된 일치하는 파일은 다시 포함됩니다."?
BTW, 이것은 msysgit 1.7.0.2를 사용하는 Windows에 있습니다.
실제로하고 싶은 것은 다음과 같습니다.
aaa/*
!aaa/ccc
당신은 그것을 "쳐다 보지 않는다"라고 말하고 aaa
있기 때문에 경로를 조사하지도 않습니다 aaa/ccc
. 와일드 카드를 사용하는 경우 여전히의 내용을 읽고 aaa
각 항목이 와일드 카드와 일치하고 무시 aaa/ccc
됩니다.
의 모든 항목을 제외 하고 그 아래의 모든 항목을 aaa
포함 aaa/ccc
하려면 다음을 사용해야합니다.
aaa/*
!aaa/ccc
!aaa/ccc/*
첫 번째 줄은 git에게 아래의 모든 내용을 무시하도록 지시하고 두 번째 줄은 실제로 세 번째 줄을 "활성화"하는 aaa
폴더 aaa/ccc
를 무시하지 않도록 지시 한 다음 아래의 모든 내용을 무시하지 않도록 지시합니다 aaa/ccc
.
누군가가 아직 git status
실행 중 새로 무시되지 않은 항목을 보지 못한다면 git update-index
git이 변경 사항을 볼 수 있도록 도울 수 있습니다 (적어도 gitbash 버전 1.9.x에서).
참고 URL : https://stackoverflow.com/questions/2820255/how-do-negated-patterns-work-in-gitignore
'Programing' 카테고리의 다른 글
STDOUT과 STDERR 모두 터미널과 로그 파일로 이동하려면 어떻게해야합니까? (0) | 2020.10.19 |
---|---|
jQuery에서 JSON 배열을 HTML 테이블로 변환 (0) | 2020.10.19 |
Oracle SQL에서 작은 따옴표를 처리하는 방법 (0) | 2020.10.19 |
string. 목록에 참여 (0) | 2020.10.19 |
matplotlib에서 플롯의 축, 눈금 및 레이블 색상 변경 (0) | 2020.10.19 |