-I pattern
Do not list those files that match the wild-card pattern.
O Tree suporta um único padrão que excluirá todos os arquivos / diretórios correspondentes.
Os arquivos ignorados do Git são um pouco mais complicados:
Exclusão pode vir de vários arquivos, $HOME/.config/git/ignore, a saída git config --get core.excludesfile, .gitignore(por diretório), ~/.gitignoree mais (veja man gitignore).
Outro problema é que os padrões treesuportados diferem do que o git faz (como observado por @Brad Urani).
Agradável! Estou correto que o fato de isso não estar removendo as linhas de comentário do .gitignore causará problemas?
Brad Urani
Eu acho que também não vai respeitar .gitignore arquivos fora do diretório home 🤔
Brad Urani
@BradUrani - atualizei minha resposta para usar gitcomandos para tentar encontrar o arquivo. O que isso retorna dependerá da configuração que você tiver.
darkheart
Isso não está funcionando para mim, acho que porque o meu ~/.gitignoreé um link simbólico. Eu tenho tentado encontrar uma maneira de confiar gitpara me dizer o que é ignorado, mas todos os meus esforços para encontrar a combinação certa continuam enfrentando dificuldades ou situações ambíguas.
Brad Urani
Também parece tree -Ique respeita todas as opções de globbing que .gitignorefazem, o que me faz pensar que não há solução perfeita. A melhor aproximação que eu vim com a noite passada é echo "node_modules|tmp|_build" > ~/.treeignoreetree -I "$(cat ~/.treeignore)"
git ls-files
.Respostas:
Isso pode ajudar: a listar
git
arquivos ignorados de uma maneira quase compatível para otree
filtro:fonte
A árvore suporta a
-I
bandeira.O Tree suporta um único padrão que excluirá todos os arquivos / diretórios correspondentes.
Os arquivos ignorados do Git são um pouco mais complicados:
Exclusão pode vir de vários arquivos,
$HOME/.config/git/ignore
, a saídagit config --get core.excludesfile
,.gitignore
(por diretório),~/.gitignore
e mais (vejaman gitignore
).Outro problema é que os padrões
tree
suportados diferem do que o git faz (como observado por @Brad Urani).Mas podemos chegar perto ...
Ou como uma função:
fonte
git
comandos para tentar encontrar o arquivo. O que isso retorna dependerá da configuração que você tiver.~/.gitignore
é um link simbólico. Eu tenho tentado encontrar uma maneira de confiargit
para me dizer o que é ignorado, mas todos os meus esforços para encontrar a combinação certa continuam enfrentando dificuldades ou situações ambíguas.tree -I
que respeita todas as opções de globbing que.gitignore
fazem, o que me faz pensar que não há solução perfeita. A melhor aproximação que eu vim com a noite passada éecho "node_modules|tmp|_build" > ~/.treeignore
etree -I "$(cat ~/.treeignore)"