-I pattern
Do not list those files that match the wild-card pattern.
Дерево поддерживает один шаблон, который исключит все файлы / каталоги, которые ему соответствуют.
Файлы игнорирования в Git немного сложнее:
Исключение может исходить из нескольких файлов, $HOME/.config/git/ignoreвыходной сигнал git config --get core.excludesfile, .gitignore(в каталоге), ~/.gitignoreи многое другое (см man gitignore).
Другая проблема заключается в том, что treeподдерживаемые шаблоны отличаются от того, что делает git (как отмечает @Brad Urani).
Ницца! Я прав, что тот факт, что это не удаляет строки комментариев из .gitignore, вызовет проблемы?
Брэд Урани
Я предполагаю, что это также не будет уважать файлы .gitignore вне домашнего каталога 🤔
Брэд Урани
@BradUrani - я обновил свой ответ, чтобы использовать gitкоманды, чтобы попытаться найти файл. Что это возвращает, будет зависеть от того, какие настройки у вас есть.
DarkHeart
Это не работает для меня, я думаю, потому что моя ~/.gitignoreсимволическая ссылка. Я пытался найти способ полагаться на то, gitчтобы сказать мне, что игнорируется, но все мои попытки найти правильную комбинацию продолжают сталкиваться с трудностями или неоднозначными ситуациями.
Брэд Урани
Кроме того, похоже, tree -Iчто уважает все варианты глобализации, .gitignoreчто заставляет меня думать, что нет идеального решения. Лучшее приближение, которое я придумал прошлой ночью, - echo "node_modules|tmp|_build" > ~/.treeignoreиtree -I "$(cat ~/.treeignore)"
git ls-files
.Ответы:
Это может помочь:
git
вывести список игнорируемых файлов почти совместимым способом дляtree
фильтра:источник
Дерево поддерживает
-I
флаг.Дерево поддерживает один шаблон, который исключит все файлы / каталоги, которые ему соответствуют.
Файлы игнорирования в Git немного сложнее:
Исключение может исходить из нескольких файлов,
$HOME/.config/git/ignore
выходной сигналgit config --get core.excludesfile
,.gitignore
(в каталоге),~/.gitignore
и многое другое (смman gitignore
).Другая проблема заключается в том, что
tree
поддерживаемые шаблоны отличаются от того, что делает git (как отмечает @Brad Urani).Но мы можем приблизиться ...
Или как функция:
источник
git
команды, чтобы попытаться найти файл. Что это возвращает, будет зависеть от того, какие настройки у вас есть.~/.gitignore
символическая ссылка. Я пытался найти способ полагаться на то,git
чтобы сказать мне, что игнорируется, но все мои попытки найти правильную комбинацию продолжают сталкиваться с трудностями или неоднозначными ситуациями.tree -I
что уважает все варианты глобализации,.gitignore
что заставляет меня думать, что нет идеального решения. Лучшее приближение, которое я придумал прошлой ночью, -echo "node_modules|tmp|_build" > ~/.treeignore
иtree -I "$(cat ~/.treeignore)"