-I pattern
Do not list those files that match the wild-card pattern.
Tree prend en charge un modèle unique qui exclura tous les fichiers / répertoires qui lui correspondent.
Les fichiers ignorés de Git sont un peu plus compliqués:
L'exclusion peut provenir de plusieurs fichiers $HOME/.config/git/ignore,, de la sortie de git config --get core.excludesfile, .gitignore(par répertoire) ~/.gitignore, et plus (voir man gitignore).
Un autre problème est que les modèles pris en treecharge diffèrent de ce que fait git (comme l'a noté @Brad Urani).
Agréable! Ai-je raison de dire que le fait que cela ne supprime pas les lignes de commentaires de .gitignore causera des problèmes?
Brad Urani
Je suppose que cela ne respectera pas non plus les fichiers .gitignore en dehors du répertoire d'origine
Brad
@BradUrani - j'ai mis à jour ma réponse pour utiliser des gitcommandes pour essayer de trouver le fichier. Ce que cela rapporte dépendra de votre réglage.
DarkHeart
Cela ne fonctionne pas pour moi, je pense parce que mon ~/.gitignoreest un lien symbolique. J'ai essayé de trouver un moyen de m'appuyer gitpour me dire ce qui est ignoré, mais tous mes efforts pour trouver la bonne combinaison continuent de se heurter à des difficultés ou à des situations ambiguës.
Brad Urani
De plus, il semble que tree -Icela respecte toutes les options de globbing qui le .gitignorefont, ce qui me fait penser qu'il n'y a pas de solution parfaite. La meilleure approximation que j'ai trouvée la nuit dernière est echo "node_modules|tmp|_build" > ~/.treeignoreettree -I "$(cat ~/.treeignore)"
git ls-files
.Réponses:
Cela pourrait aider: répertorier les
git
fichiers ignorés d'une manière presque compatible pour letree
filtre:la source
Tree prend en charge le
-I
drapeau.Tree prend en charge un modèle unique qui exclura tous les fichiers / répertoires qui lui correspondent.
Les fichiers ignorés de Git sont un peu plus compliqués:
L'exclusion peut provenir de plusieurs fichiers
$HOME/.config/git/ignore
,, de la sortie degit config --get core.excludesfile
,.gitignore
(par répertoire)~/.gitignore
, et plus (voirman gitignore
).Un autre problème est que les modèles pris en
tree
charge diffèrent de ce que fait git (comme l'a noté @Brad Urani).Mais nous pouvons obtenir de près ...
Ou en fonction:
la source
git
commandes pour essayer de trouver le fichier. Ce que cela rapporte dépendra de votre réglage.~/.gitignore
est un lien symbolique. J'ai essayé de trouver un moyen de m'appuyergit
pour me dire ce qui est ignoré, mais tous mes efforts pour trouver la bonne combinaison continuent de se heurter à des difficultés ou à des situations ambiguës.tree -I
cela respecte toutes les options de globbing qui le.gitignore
font, ce qui me fait penser qu'il n'y a pas de solution parfaite. La meilleure approximation que j'ai trouvée la nuit dernière estecho "node_modules|tmp|_build" > ~/.treeignore
ettree -I "$(cat ~/.treeignore)"