Есть ли способ узнать, почему какой-то файл игнорируется git (то есть, какое правило в .gitignoreфайле вызывает игнорирование файла)?
Представьте, что у меня есть этот (или гораздо более сложный сценарий с сотнями папок и десятками .gitignoreфайлов:
/
-.gitignore
-folder/
-.gitignore
-subfolder/
-.gitignore
-file.txt
Если я запускаю git add folder/subfolder/file.txtgit, то могу жаловаться на игнорирование:
The following paths are ignored by one of your .gitignore files:
folder/subfolder/file.txt
Use -f if you really want to add them.
Есть ли способ узнать, какие из всех возможных .gitignoreимеют правило игнорировать этот файл, а также показать правило? Подобно:
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.
Или просто:
$ git why-is-ignored folder/subfolder/file.txt
folder/.gitignore:12:*.txt
GIT_TRACE_EXCLUDE=1 git statusскоро появится дополнительный способ отладки .gitignoreправил. Смотрите мой отредактированный ответ ниже
git check-ignoreскоро (git1.8.5 / 1.9) появится--no-indexопция. Смотрите мой ответ ниже