Есть ли способ сообщить git -status игнорировать эффекты файлов .gitignore?

Я сконфигурировал многочисленные файлы .gitignore, чтобы отфильтровать множество разных нежелательных файлов из набора из примерно 6000 файлов без следа. Я хочу сделать git add ., когда у меня есть список фильтров, который выглядит так, как я хочу.

Но, тогда я хочу временно отключить фильтры .gitignore, чтобы увидеть, что осталось, и убедитесь, что не было ничего важного, случайно отфильтрованного.

Я знаю, что git-clean включает в себя возможность игнорировать .gitignore files. Есть ли аналогичная опция для git-status?

Я мог бы пройти и удалить все файлы .gitignore, выполнить проверку, а затем восстановить их, но, похоже, должен быть более простой способ?

Ответ 1

Попробуйте использовать git ls-files --other - он должен перечислить все файлы, о которых git не знает; то есть те файлы, которые не находятся в репозитории и не игнорируются .gitignore.

Вы также можете использовать git ls-files --ignored --exclude-standard, чтобы увидеть, какие файлы git явно игнорируются.

Ответ 2

Эта опция --ignored выполняет трюк:

git status --ignored



(Обновление 1) Я обнаружил, что параметр --ignored не работает в некоторых установках git, возможно, это ошибка git. В этих случаях для меня работает -s:

git status -s --ignored

(Обновление 2) Один пользователь сообщил, что параметр --ignored не поддерживается в git версии 1.7.0.4. Моя версия git - 1.7.6. Другая версия 1.7.5.1 - это та, которая требует -s. Вы можете попробовать

git status -h

чтобы узнать, поддерживается ли --ignored.