如何以樹狀格式顯示 git ls-file 結果?

如何以樹狀格式顯示 git ls-file 結果?

假設我有一個 git 儲存庫,其樹的輸出是:

.                                                                                                                                                                                  
├── .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 創建者威廉斯)可能符合要求。 (不過,我承認這確實需要使用另一個第三方工具。)

同樣,這個其他答案指出使用不同的工具:樹擴展(由創作者轉交魯廖塔諾)。

相關內容