답변:
git check-ignore
git check-ignore
명령 을 사용 하여 gitignore 파일을 디버그하십시오 (파일 제외).
예를 들면 :
$ git check-ignore -v config.php
.gitignore:2:src config.php
위의 출력은 주어진 각 경로 이름 (줄 포함)에 대해 일치하는 패턴 (있는 경우)에 대한 세부 정보입니다.
따라서 파일 확장자는 무시되지 않고 전체 디렉토리입니다.
반환되는 형식은 다음과 같습니다.
<source> <COLON> <linenum> <COLON> <pattern> <HT> <pathname>
또는 다음 명령을 사용하여 .gitignore
사용자 홈 및 저장소 폴더 를 인쇄하십시오 .
cat ~/.gitignore "$(git rev-parse --show-toplevel)"/.gitignore "$(git rev-parse --show-toplevel)"/.git/info/exclude
또는 git add -f
무시 된 파일을 추가 할 수있는 사용.
참조 : man gitignore
, man git-check-ignore
자세한 내용은.
git check-ignore [옵션] 경로명…
git check-ignore [옵션] --stdin
git 구성에 무시되는 추가 패턴이있는 파일의 경로 인 core.excludesfile이 포함될 수 있음을 아는 것이 좋습니다. 다음을 실행하여 이러한 구성이 있는지 확인할 수 있습니다 (문제가있는 git repo에서).
git config core.excludesfile
파일 경로를 인쇄하는 경우 해당 파일의 내용에서 자세한 정보를 확인하십시오.
제 경우에는 'Icon?'패턴을 무시한 이전 버전의 boxen 을 통해 git을 설치했습니다. 내 경우에는이 질문에서 언급 한 폴더 아이콘에 대한 경고를주었습니다 (대소 문자를 구분하지 않는 파일 시스템에있어 Icon?이 아이콘과 일치하는 이유입니다).
Icon?
무시 당했다.
다음을 확인하십시오.
다른 .gitignore 파일을 찾았습니까? 많은 파일이있을 수 있습니다.
또한 REPO / .git / config를 살펴보고 거기에 무엇이 있는지 확인하십시오.
리포지토리 제외 로컬 리포지토리 별 규칙은 리포지토리의 .git / info / exclude 파일에 추가 할 수 있습니다. 이러한 규칙은 리포지토리와 커밋되지 않으므로 다른 사람과 공유되지 않습니다. 이 방법은 편집기에서 생성 한 파일과 같이 다른 사용자가 생성하지 않을 것으로 예상되는 로컬 생성 파일에 사용할 수 있습니다.
나는 같은 문제가 있었다-디렉토리 가이 오류로 git에 의해 무시되었습니다.
➭ git add app/views/admin/tags/
The following paths are ignored by one of your .gitignore files:
app/views/admin/tags
Use -f if you really want to add them.
fatal: no files added
나는 마침내 내 문제가 내 줄에 있음을 알았습니다 ~/.gitignore_global
.
TAGS
경로와 일치했습니다 app/views/admin/tags
. 전역 gitignore 파일에 선행 슬래시를 추가하여 수정했습니다.
/TAGS
그리고 git은 내 디렉토리를 다시 추적하기 시작했습니다.
help
무시 된 디렉토리를. 다행히도 귀하의 답변을 아주 빨리 찾았습니다.
나를 위해 실수로 ~ / .gitignore_global 파일에 와일드 카드가 있습니다. 아마 거기 확인?
또 다른 시도 : .git
프로젝트 디렉토리 A 아래에 자체 저장소가 중첩 된 디렉토리 B가 있습니다 (하위 모듈로는 아님). B를 약간 변경하고 보나 피드 하위 모듈로 만들고 싶었습니다. 나는 git A가 자체 저장소를 포함했기 때문에 B를 자동으로 무시한다고 생각합니다 ( 하위 모듈이없는 중첩 된 git 저장소? 참조 ). B 폴더의 이름을 변경하고 하위 모듈로 다시 복제하려고했는데 ".gitignore에 의해 무시 됨"오류 메시지가 잘못 표시되었습니다. 해결책은 .git
B 에서 삭제하는 것입니다.
나는 너와 똑같은 문제를 겪고 있었다. 확인해야 할 몇 군데를 나열한 유일한 답장이지만 그들 중 누구도 문제를 해결하지 못했고 귀하의 의견에서도 나는 당신을 위해 생각하지 않습니다. 디렉토리 트리 아래에 숨어있는 다른 .gitignore 파일이 없었습니다. .git / config에 아무것도 없습니다. .git / ingore / exclude에 아무것도 없습니다.
여전히 문제가있는 경우이 답변을 확인 하십시오 . 그것은 나를 위해 문제를 해결했습니다.
기본적으로 ~ / .gitignore 파일을 확인하십시오. 내 이름은 ~ / .gitignore_global입니다. 이 생성 된 때 나는 (모르는 나는 확실히 그것을하지 않았다),하지만 난 그렇게 그 중 하나는이 넣어해야합니다, 제가 처음 설치할 때 다른 자식 설정의 톤이다 시도했다.
그의 대답이 당신에게도 도움이되기를 바랍니다!
git에서이 오류 메시지를받는 또 다른 이유 git submodule add
는 이전 git 명령이 충돌하여 잠금 파일을 남긴 상태 에서 명령을 실행할 때 입니다 (예를 들어 git 명령을 포함하는 사용자 지정 스크립트를 사용하고 크래시).
git commit
대신 명령을 실행하면 조건이 변경되지 않은 상태에서 ( 파일이 문제가 git submodule add
된다고 계속 소리를 지른다 .gitignore
) 대신 다른 오류 보고서가 표시됩니다.
$ git commit -a
fatal: Unable to create '..../.git/index.lock': File exists.
If no other git process is currently running, this probably means a
git process crashed in this repository earlier. Make sure no other git
process is running and remove the file manually to continue.
실제로 잠금 파일을 삭제합니다.
rm .git/index.lock
문제를 해결합니다. (이것은 git 버전 2.1.0.9736에서 발생합니다. 향후 git 릴리스에서 수정 될 수 있습니다.)
한 가지 더 : 현재 디렉토리에 쓰기 또는 실행을 위해 루트 액세스 권한이 필요한 경우 루트 사용자인지 확인하십시오. 나는 실제로 서브 모듈을 추가하려고 할 때 이상한 오류가 발생했으며 git은 내가 복제하는 경로가 git ignore 파일에 의해 무시되고 있다고 계속 불평했습니다. 그런 다음 루트 사용자로 변경하고 하위 모듈 추가를 다시 실행했는데 문제가 없었습니다.
또한 확인하시기 바랍니다 ~/.gitignore
하고 ~/.gitignore_global
있는 어떤 망할 놈의 클라이언트 (맥 OS X에 대한 예를 들어 골드 피처 SourceTree)에 의해 생성 될 수 있습니다.
.gitignore
파일이 자체를 무시하고 있지 않은지 확인하십시오 . 일반적인 실수는 현재 폴더의 모든 파일을 무시 *
하도록 .gitignore
파일에 규칙을 추가하는 것입니다 . 이에 대한 해결책은 다음에 예외를 추가하는 것입니다 .gitignore
.
*
!.gitignore
이렇게하면 디렉토리의 모든 파일이 무시됩니다 .gitignore
.