2014-11-05 60 views
0

我會認爲這是一個相對直接的請求,但似乎並不是這樣。對於我的存儲庫中的給定目錄,我需要顯示該目錄中的文件列表(包括目錄)。除了每個文件,我還需要顯示其他信息 - 例如該文件最後提交的日期時間。這是一個簡單的存儲庫查看器 - 比較。 github上。Git:存儲庫目錄的內容與文件信息

回答

1

我不知道有任何這樣做的瓷器級命令。 (請讓我知道另一個答案,如果有的話,我會刪除這個)如果我正確理解你,你想要做什麼類似git annotate的內部工作,只能在文件路徑級別在一行文件中。

核心邏輯在腳本中不太難重現。

或者你可以作弊,只是從git log提取信息。唯一的竅門是每個文件執行一次,否則它會合並提交。

for file in $(git ls-files); do 
    echo $(git log --format=%ad -- $file | head -1) $file 
done 
+0

是的,我正在尋找一種不使用n + 1 git命令的方法,因爲這是痛苦而痛苦的緩慢。我開始認爲我能做到這一點的唯一方法是緩存結果並通過git鉤子更新緩存,這對於這樣的基本需求來說似乎很瘋狂;不過,也許這就是github,bitbucket等等的做法。 – 2014-11-05 16:48:11

+0

實際上,不計算git命令,您仍然要求在O(1)調用中不可用的信息。我有一個git diff-tree的分支草案,但這比git log慢得多。 – 2014-11-05 17:37:11

+0

感謝您關注此事。據推測,你的循環中的「git log -1 ...」會快一點嗎? – 2014-11-06 10:00:20

相關問題