¿Hay alguna manera de ver por qué git ignora algún archivo (es decir, qué regla de un .gitignore
archivo está haciendo que se ignore)?
Imagine que tengo esto (o un escenario mucho más complejo, con cientos de carpetas y decenas de .gitignore
archivos:
/
-.gitignore
-folder/
-.gitignore
-subfolder/
-.gitignore
-file.txt
Si ejecuto git add folder/subfolder/file.txt
git puede quejarme de que se ignore:
The following paths are ignored by one of your .gitignore files:
folder/subfolder/file.txt
Use -f if you really want to add them.
¿Hay alguna manera de saber cuál de todas las posibles .gitignore
tiene una regla para ignorar este archivo y también mostrar la regla? Me gusta:
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.
O solo:
$ git why-is-ignored folder/subfolder/file.txt
folder/.gitignore:12:*.txt
GIT_TRACE_EXCLUDE=1 git status
pronto habrá una forma adicional de depurar las .gitignore
reglas. Vea mi respuesta editada a continuación
git check-ignore
pronto (git1.8.5 / 1.9) tendrá una--no-index
opción. Vea mi respuesta a continuación