Wie werden die Ergebnisse einer Git-LS-Datei in einem baumartigen Format angezeigt?

Wie werden die Ergebnisse einer Git-LS-Datei in einem baumartigen Format angezeigt?

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 .gitignoremit rep3/ignored-file.

git ls-filesDie 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“ -Pbedeutet, 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).

verwandte Informationen