2010-06-05 110 views

回答

1

git log --all

+0

已測試,但僅顯示主分支的日誌 – MemoryLeak 2010-06-05 03:37:21

+1

它當然不能在遠程機器上列出不同分支的日誌,而無需先將它們合併到當前分支中。你想要列出哪些其他參考?子集可以通過'git branch -a'命令顯示。 – Arafangion 2010-06-05 04:01:26

+0

但在gitk gui中,我可以看到所有的日誌都包含了所有的分支!我怎樣才能通過命令行來獲取? – MemoryLeak 2010-06-05 04:09:51

4

您可以檢查this question,看看是否開始解決您的日誌級別:

git log --graph --abbrev-commit --pretty=decorate --branches 

應該列出所有分支機構,包括遙控器的人(如果獲取)

--branches[=pattern] 

假設所有refs/heads中的參數都在命令行中列出爲<commit>
如果給出了模式,則將分支限制爲與給定shell glob匹配的分支。
如果模式缺乏?, , or [, /最後暗示。


你可以試試這個commandline-fu,與git branchgit branch -a
git branch -a肯定是你需要什麼,你希望看到相同的樹枝,而不是gitk

for k in `git branch -a|perl -pe s/^..//`;do echo -e `git show --pretty=format:"%Cgreen%ci %Cblue%cr%Creset%cn: %s" $k|head -n 1`\\t$k;done|sort -r 

或者:

for k in `git branch -a|sed s/^..//`;do echo -e `git log -1 --pretty=format:"%Cgreen%ci %Cblue%cr%Creset%cn: %s" "$k"`\\t"$k";done|sort 

(你可以complete the format顯示任何數據 - 作者,提交信息,... - 你需要)

顯示的Git分支日期 - 可用於顯示活躍的分支 打印出清單所有具有最後提交日期的分支到分支,包括自提交和顏色編碼以來的相對時間。


注:由於Jakub Narębski恰當評論:

不要使用git branch輸出腳本!使用git for-each-refgit show-ref管道(意味着腳本的低級命令)

git branch命令正是因爲它表示爲用戶的,而不是用於腳本。

正如Eric Raymond所說,它符合將演示文稿(瓷器)與內容操作(管道)分開的完善的git設計理念。

+3

不要使用'git branch'輸出腳本!使用'git for-each-ref'或'git show-ref' plumbing(用於腳本的低級命令)。 – 2010-06-05 11:38:03

+1

管道命令很難像印度尼西亞的地獄一樣,在你可以編寫助手的層面上學習他們,回答簡單的問題,比如「樹是否乾淨」需要一年的時間,並且**仍然**幫助者結束200 + loc。 「瓷器是爲了人,管道是爲了劇本」的想法忽略了這樣一個事實,那就是寫劇本的人。 – 2016-05-09 16:09:57

相關問題