Czy jest jakiś sposób, aby dowiedzieć się, dlaczego git ignoruje jakiś plik (tj. Która reguła w .gitignore
pliku powoduje ignorowanie pliku)?
Wyobraź sobie, że mam ten (lub znacznie bardziej złożony scenariusz, z setkami folderów i dziesiątkami .gitignore
plików:
/
-.gitignore
-folder/
-.gitignore
-subfolder/
-.gitignore
-file.txt
Jeśli uruchomię git add folder/subfolder/file.txt
git, może narzekać, że jest ignorowany:
The following paths are ignored by one of your .gitignore files:
folder/subfolder/file.txt
Use -f if you really want to add them.
Czy jest jakiś sposób, aby dowiedzieć się, który ze wszystkich możliwych .gitignore
ma regułę, aby zignorować ten plik, a także pokazać regułę? Lubić:
The following paths are ignored by your folder/.gitignore file (line 12: *.txt)
folder/subfolder/file.txt
Use -f if you really want to add them.
Lub tylko:
$ git why-is-ignored folder/subfolder/file.txt
folder/.gitignore:12:*.txt
GIT_TRACE_EXCLUDE=1 git status
wkrótce będzie dodatkowym sposobem debugowania .gitignore
reguł. Zobacz moją zredagowaną odpowiedź poniżej
git check-ignore
wkrótce (git1.8.5 / 1.9) będzie miał--no-index
opcję. Zobacz moją odpowiedź poniżej