Existe alguma maneira de ver por que algum arquivo está sendo ignorado pelo git (ou seja, qual regra em um .gitignore
arquivo 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 .gitignore
arquivos:
/
-.gitignore
-folder/
-.gitignore
-subfolder/
-.gitignore
-file.txt
Se eu rodar, o git add folder/subfolder/file.txt
git 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 .gitignore
tê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 status
em breve será uma maneira adicional de depurar .gitignore
regras. Veja minha resposta editada abaixo
git check-ignore
em breve (git1.8.5 / 1.9) terá uma--no-index
opção. Veja minha resposta abaixo