-I pattern
Do not list those files that match the wild-card pattern.
Tree unterstützt ein einzelnes Muster, das alle Dateien / Verzeichnisse ausschließt, die damit übereinstimmen.
Die Ignorierdateien von Git sind etwas komplizierter:
Der Ausschluss kann aus mehreren Dateien, $HOME/.config/git/ignoreder Ausgabe von git config --get core.excludesfile, .gitignore(pro Verzeichnis) ~/.gitignoreund mehr erfolgen (siehe man gitignore).
Ein weiteres Problem sind die treeunterstützten Muster, die sich von denen von Git unterscheiden (wie von @Brad Urani angegeben).
Nett! Stimmt es, dass die Tatsache, dass hierdurch keine Kommentarzeilen aus .gitignore entfernt werden, Probleme verursacht?
Brad Urani
Ich denke, es wird auch .gitignore-Dateien außerhalb des Heimverzeichnisses nicht respektieren
Brad
@BradUrani - Ich habe meine Antwort aktualisiert, um gitBefehle zu verwenden, um zu versuchen, die Datei zu finden. Was das zurückbringt, hängt von Ihrer Einstellung ab.
DarkHeart
Das funktioniert bei mir nicht, ich denke, weil mein ~/.gitignoreLink ein Symlink ist. Ich habe versucht, einen Weg zu finden, auf gitden ich mich verlassen kann, um zu sagen, was ignoriert wird, aber all meine Bemühungen, die richtige Kombination zu finden, stoßen immer wieder auf Schwierigkeiten oder zweideutige Situationen.
Brad Urani
Es sieht auch so aus, als würde tree -Iman alle globalen Optionen respektieren, .gitignorewas mich glauben lässt, dass es keine perfekte Lösung gibt. Die beste Annäherung, die ich mir echo "node_modules|tmp|_build" > ~/.treeignoretree -I "$(cat ~/.treeignore)"
git ls-files
.Antworten:
Dies könnte helfen:
git
Ignorierte Dateien fürtree
Filter nahezu kompatibel auflisten:quelle
Baum unterstützt die
-I
Flagge.Tree unterstützt ein einzelnes Muster, das alle Dateien / Verzeichnisse ausschließt, die damit übereinstimmen.
Die Ignorierdateien von Git sind etwas komplizierter:
Der Ausschluss kann aus mehreren Dateien,
$HOME/.config/git/ignore
der Ausgabe vongit config --get core.excludesfile
,.gitignore
(pro Verzeichnis)~/.gitignore
und mehr erfolgen (sieheman gitignore
).Ein weiteres Problem sind die
tree
unterstützten Muster, die sich von denen von Git unterscheiden (wie von @Brad Urani angegeben).Aber wir können nah dran sein ...
Oder als Funktion:
quelle
git
Befehle zu verwenden, um zu versuchen, die Datei zu finden. Was das zurückbringt, hängt von Ihrer Einstellung ab.~/.gitignore
Link ein Symlink ist. Ich habe versucht, einen Weg zu finden, aufgit
den ich mich verlassen kann, um zu sagen, was ignoriert wird, aber all meine Bemühungen, die richtige Kombination zu finden, stoßen immer wieder auf Schwierigkeiten oder zweideutige Situationen.tree -I
man alle globalen Optionen respektieren,.gitignore
was mich glauben lässt, dass es keine perfekte Lösung gibt. Die beste Annäherung, die ich mirecho "node_modules|tmp|_build" > ~/.treeignore
tree -I "$(cat ~/.treeignore)"