-I pattern
Do not list those files that match the wild-card pattern.
Tree admite un patrón único que excluirá todos los archivos / directorios que coincidan.
Los archivos de ignorar de Git son un poco más complicados:
La exclusión puede provenir de múltiples archivos, $HOME/.config/git/ignore, la salida git config --get core.excludesfile, .gitignore(por directorio), ~/.gitignorey más (ver man gitignore).
Otro problema es que los patrones que treesoportan difieren de lo que hace git (como lo señaló @Brad Urani).
¡Agradable! ¿Estoy en lo cierto de que el hecho de que esto no elimine las líneas de comentarios de .gitignore causará problemas?
Brad Urani
Supongo que tampoco respetará los archivos .gitignore fuera del directorio de inicio
Brad
@BradUrani: he actualizado mi respuesta para usar gitcomandos para intentar encontrar el archivo. Lo que eso devuelva dependerá de la configuración que tenga.
DarkHeart
Esto no funciona para mí, creo que es porque mi ~/.gitignorees un enlace simbólico. He estado tratando de encontrar una manera de confiar gitpara decirme lo que se ignora, pero todos mis esfuerzos por encontrar la combinación correcta siguen teniendo dificultades o situaciones ambiguas.
Brad Urani
También parece tree -Ique respeta todas las opciones globales que .gitignoreme hace pensar que no hay una solución perfecta. La mejor aproximación que se me ocurrió anoche es echo "node_modules|tmp|_build" > ~/.treeignoreytree -I "$(cat ~/.treeignore)"
git ls-files
.Respuestas:
Esto podría ayudar: enumere los
git
archivos ignorados de una manera casi compatible para eltree
filtro:fuente
El árbol apoya la
-I
bandera.Tree admite un patrón único que excluirá todos los archivos / directorios que coincidan.
Los archivos de ignorar de Git son un poco más complicados:
La exclusión puede provenir de múltiples archivos,
$HOME/.config/git/ignore
, la salidagit config --get core.excludesfile
,.gitignore
(por directorio),~/.gitignore
y más (verman gitignore
).Otro problema es que los patrones que
tree
soportan difieren de lo que hace git (como lo señaló @Brad Urani).Pero podemos acercarnos ...
O como una función:
fuente
git
comandos para intentar encontrar el archivo. Lo que eso devuelva dependerá de la configuración que tenga.~/.gitignore
es un enlace simbólico. He estado tratando de encontrar una manera de confiargit
para decirme lo que se ignora, pero todos mis esfuerzos por encontrar la combinación correcta siguen teniendo dificultades o situaciones ambiguas.tree -I
que respeta todas las opciones globales que.gitignore
me hace pensar que no hay una solución perfecta. La mejor aproximación que se me ocurrió anoche esecho "node_modules|tmp|_build" > ~/.treeignore
ytree -I "$(cat ~/.treeignore)"