Existe alguma maneira de ver por que algum arquivo está sendo ignorado pelo git (ou seja, qual regra em um .gitignorearquivo está causando o arquivo a ser ignorado)?
Imagine que eu tenho esse (ou um cenário muito mais complexo, com centenas de pastas e dezenas de .gitignorearquivos:
/
-.gitignore
-folder/
-.gitignore
-subfolder/
-.gitignore
-file.txt
Se eu rodar, o git add folder/subfolder/file.txtgit pode reclamar por ter sido ignorado:
The following paths are ignored by one of your .gitignore files:
folder/subfolder/file.txt
Use -f if you really want to add them.
Existe alguma maneira de saber quais de todos os possíveis .gitignoretêm uma regra para ignorar esse arquivo e também mostrar a regra? Gostar:
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.
Ou apenas:
$ git why-is-ignored folder/subfolder/file.txt
folder/.gitignore:12:*.txt
GIT_TRACE_EXCLUDE=1 git statusem breve será uma maneira adicional de depurar .gitignoreregras. Veja minha resposta editada abaixo
git check-ignoreem breve (git1.8.5 / 1.9) terá uma--no-indexopção. Veja minha resposta abaixo