Есть ли способ проверить файл .gitignore, чтобы вы быстро находили пути или пути двойников, которые больше не существуют? Обычно, когда проект мал, это не обязательно, но с большим количеством веток и слияний файлов .gitignore это может прийти в руки.
Способ проверки файла .gitignore
Ответ 1
Не совсем. Одна команда, которая могла бы приблизиться, была бы git check-ignore
Выберите файл, который, как вы знаете, должен быть проигнорирован, и проверьте вывод:
git check-ignore -v -- /path/to/ignored/file
Вы увидите правила вашего .gitignore, которые применяются.
Обновить март 2016: Git 2.8 добавит новый способ отладки файлов .gitignore и их правил.
В контексте запрета игнорирования подпапки (даже если ее родительская папка игнорируется: см. пример здесь), я нашел этот камень Thái Ngọc Duy (pclouds):
dir.c: исключение трассировки поддержки
 man git включает в себя:
GIT_TRACE_EXCLUDE:
Включает трассировочные сообщения, которые могут помочь отлаживать обработку
.gitignore.
См. "GIT_TRACE" для доступных параметров вывода трассировки.
С GIT_TRACE_EXCLUDE, установленным в 1, вы увидите (после git status) отладочные сообщения stderr, например:
exclude: from ...
exclude: xxx => n/a
exclude: xxx vs. yyy at line z: => www
Ответ 2
Вы можете выполнить script, чтобы проверить его. Я сделал один для вас там:
#!/bin/bash
set -o noglob
for file in `cat .gitignore | grep -v \#`
do
    printf "$file"
    find . -name "$file" | wc -l
done
он отображает правила, за которыми следует число совпадений в текущем каталоге и рекурсивно. Пример:
*.log     31
*.gz      0
*~     42
*.swp      0
*.aux     33
*.pdf     51
*.out      7
*.toc      6
*.nav      1
*.snm      1
.DS_Store      0
Вы можете ограничить вывод на строку, содержащую 0, если хотите, в egrep "\b0\b".
