Czy jest jakiś sposób, aby dowiedzieć się, dlaczego git ignoruje jakiś plik (tj. Która reguła w .gitignorepliku powoduje ignorowanie pliku)?
Wyobraź sobie, że mam ten (lub znacznie bardziej złożony scenariusz, z setkami folderów i dziesiątkami .gitignoreplików:
/
-.gitignore
-folder/
-.gitignore
-subfolder/
-.gitignore
-file.txt
Jeśli uruchomię git add folder/subfolder/file.txtgit, 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 .gitignorema 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 statuswkrótce będzie dodatkowym sposobem debugowania .gitignorereguł. Zobacz moją zredagowaną odpowiedź poniżej
git check-ignorewkrótce (git1.8.5 / 1.9) będzie miał--no-indexopcję. Zobacz moją odpowiedź poniżej