
Nehmen wir an, ich habe ein Git-Repo, dessen Ausgabe mit Tree lautet:
.
├── .gitignore
├── untracked-file
├── rep1
│ └── tracked-file1
├── rep2
│ └── repb
│ └── tracked-file2
└── rep3
└── ignored-file
Und .gitignore
mit rep3/ignored-file
.
git ls-files
Die Ausgabe lautet:
rep1/tracked-file1
rep2/repb/tracked-file2
Wie kann ich Folgendes erhalten:
.
├── .gitignore
├── rep1
│ └── file1
└── rep2
└── repb
└── file2
Stattdessen ?
Ich denke, das ist ein guter Anfang:
tree -P <(git ls-files | tr '\n' '|')
„Da“ -P
bedeutet, dass nur eine Liste nach dem Muster erstellt wird, aber ich weiß nicht, wie ich hier Klammern hinzufügen kann.
Antwort1
Es klingt wie dasgitbaumDienstprogramm (c/o SchöpferAbonnieren) könnte die Lösung sein. (Ich gebe allerdings zu, dass hierfür ein weiteres Drittanbietertool erforderlich ist.)
Ebensoandere Antwortweist auf die Verwendung eines anderen Werkzeugs hin:Baum erweitert(c/o SchöpferAbonnieren).