Wyjaśnij, która reguła gitignore ignoruje mój plik

Czy jest jakiś sposób, aby zobaczyć, dlaczego jakiś plik jest ignorowany przez git (tj. Które rządzą w a.).gitignore plik powoduje zignorowanie pliku)?

Wyobraź sobie, że mam to (lub znacznie bardziej złożony scenariusz, z setkami folderów i dziesiątkami.gitignore pliki:

/
-.gitignore
-folder/
    -.gitignore
    -subfolder/
              -.gitignore
              -file.txt

Jeśli ucieknę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óre z możliwych.gitignore masz 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

questionAnswers(4)

yourAnswerToTheQuestion