Примітки:
Також цікаво (згадується в qwertymk «s відповідь ), ви можете також використовувати git check-ignore -v
команду, принаймні на Unix ( не працює в CMD Windows , сесії)
git check-ignore *
git check-ignore -v *
Другий відображає фактичне правило, .gitignore
яке змушує ігнорувати файл у вашому git repo.
У Unix, використовуючи " Що розширюється до всіх файлів у поточному каталозі рекурсивно? " Та bash4 +:
git check-ignore **/*
(або find -exec
команда)
Примітка: https://stackoverflow.com/users/351947/Rafi Б. пропонує в коментарях , щоб уникнути (ризикований) globstar :
git check-ignore -v $(find . -type f -print)
Не забудьте виключити файли з .git/
підпапки.
Оригінальна відповідь 42009)
git ls-files -i
повинен працювати, за винятком того, що його вихідний код вказує:
if (show_ignored && !exc_given) {
fprintf(stderr, "%s: --ignored needs some exclude pattern\n",
argv[0]);
exc_given
?
Виявляється, потрібен ще один параметр після того, -i
як насправді щось перелічити:
Спробуйте:
git ls-files -i --exclude-from=[Path_To_Your_Global].gitignore
(але це тільки список вашого кешованого (не ігнорованого) об'єкта, з фільтром, так що це не зовсім те, що ви хочете)
Приклад:
$ cat .git/ignore
# ignore objects and archives, anywhere in the tree.
*.[oa]
$ cat Documentation/.gitignore
# ignore generated html files,
*.html
# except foo.html which is maintained by hand
!foo.html
$ git ls-files --ignored \
--exclude='Documentation/*.[0-9]' \
--exclude-from=.git/ignore \
--exclude-per-directory=.gitignore
Насправді в моєму файлі "gitignore" (званий "виключити") я знаходжу командний рядок, який може вам допомогти:
F:\prog\git\test\.git\info>type exclude
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
Тому....
git ls-files --others --ignored --exclude-from=.git/info/exclude
git ls-files -o -i --exclude-from=.git/info/exclude
git ls-files --others --ignored --exclude-standard
git ls-files -o -i --exclude-standard
повинен зробити трюк.
Як згадується на сторінці ls-files man , --others
це важлива частина для того, щоб показати вам файли, не кешовані, не скоєні, звичайно ігноровані.
--exclude_standard
це не просто ярлик, а спосіб включити всі стандартні налаштування "ігнорованих шаблонів".
exclude-standard
Додати стандартні GIT виключення: .git/info/exclude
, .gitignore
в кожному каталозі, і user's global exclusion file
.