my.gitignore먼저 모든 것을 제외하고, 많은 노이즈를 피하기 위해 포함하고 싶은 모든 것을 무효화합니다 git status
.
*
!awesome/
!calibre/
[…]
그러나 Visual Studio Code를 설치한 후에는 "Code - OSS" 디렉터리에 대한 일치를 무효화할 수 없는 것 같습니다. 나는 다음 줄을 시도했습니다 :
!Code - OSS/
!Code\ -\ OSS/
!'Code - OSS/'
!"Code - OSS/"
!Code*
내 .gitignore 맨 아래에 있는 이러한 모든 줄에도 불구하고 git status
여전히 해당 디렉터리가 포함 가능한 것으로 나열되지 않습니다.
git check-ignore --verbose Code\ -\ OSS
각 줄의 출력도 이상합니다.
.config/.gitignore:22:!Code - OSS/ Code - OSS
.config/.gitignore:22:!Code\ -\ OSS/ Code - OSS
.config/.gitignore:1:* Code - OSS
.config/.gitignore:1:* Code - OSS
.config/.gitignore:22:!Code* Code - OSS
답변1
이것은 버그인 것 같습니다. 테스트 사례:
$ cd "$(mktemp --directory)"
$ mkdir foo\ bar
$ touch foo\ bar/test
$ git init
Initialized empty Git repository in /tmp/tmp.iGmBR6y2xR/.git/
$ git status --short
?? foo bar/
$ cat > .gitignore << EOF
> *
> !foo bar
> !foo\ bar
> !"foo bar"
> "!foo bar"
> !foo bar/
> !foo\ bar/
> !"foo bar/"
> "!foo bar/"
> EOF
$ git status --short
[no output]
해결 방법/테스트 방지 사례:
$ cat > .gitignore << EOF
> */
> !foo\ bar/
> EOF
$ git status --short
?? .gitignore
?? foo bar/