Como exibir o resultado do arquivo git ls em um formato semelhante a uma árvore?

Como exibir o resultado do arquivo git ls em um formato semelhante a uma árvore?

Digamos que eu tenha um repositório git cuja saída com tree é:

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

E .gitignorecom rep3/ignored-file.

git ls-filesa saída será:

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

Como posso ter:

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

Em vez de ?

Acho que este é um bom começo:

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

Pois -Psignifica apenas listar o seguinte padrão, mas não sei como adicionar parênteses a este.

Responder1

Parece quegitreeutilitário (c/o criadorjpwilliams) pode ser adequado. (Admito que isso, no entanto, exige o uso de outra ferramenta de terceiros.)

Da mesma forma, esteoutra respostaaponta para o uso de uma ferramenta diferente:estendido por árvore(c/o criadorrulyotano).

informação relacionada