¿Cómo mostrar el resultado de git ls-file en un formato de árbol?

¿Cómo mostrar el resultado de git ls-file en un formato de árbol?

Digamos que tengo un repositorio de git cuyo resultado con árbol es:

.                                                                                                                                                                                  
├── .gitignore                                                                   
├── untracked-file                                                                                                  
├── rep1                                                                                                                                                                           
│   └── tracked-file1                                                                                                                                                                      
├── rep2                                                                                                                                                                           
│   └── repb                                                                                                                                                                       
│       └── tracked-file2                                                                                                                                                                  
└── rep3                                                                                                                                                                           
    └── ignored-file  

Y .gitignorecon rep3/ignored-file.

git ls-filesla salida será:

rep1/tracked-file1
rep2/repb/tracked-file2

¿Cómo puedo tener:

.
├── .gitignore
├── rep1
│   └── file1
└── rep2
    └── repb
        └── file2

En cambio ?

Creo que este es un buen comienzo:

tree -P <(git ls-files | tr '\n' '|')

Dado que -Psolo significa enumerar el siguiente patrón, pero no sé cómo agregar paréntesis a este.

Respuesta1

Suena como elgitreeutilidad (c/o creadorjpwilliams) podría cumplir los requisitos. (Sin embargo, admito que esto requiere el uso de otra herramienta de terceros).

De manera similar, esteotra respuestaapunta al uso de una herramienta diferente:árbol extendido(c/o creadorruliotano).

información relacionada