如何以树状格式显示 git ls-file 结果?

如何以树状格式显示 git ls-file 结果?

假设我有一个 git repo,其树的输出是:

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

与。.gitignorerep3/ignored-file

git ls-files输出将是:

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

我怎样才能拥有:

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

反而 ?

我认为这是一个好的开始:

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

因为-P意味着只列出以下模式,但我不知道如何向这个添加括号。

答案1

听起来吉特里实用程序(c/o 创建者威廉斯)可能符合要求。(但我承认,这确实需要使用另一个第三方工具。)

同样地,这其他答案指向使用不同的工具:树扩展(c/o 创作者)鲁利奥塔诺)。

相关内容