2016-03-01 26 views
1

使用Windows 10 Pro 64位我發現了一個很好的命令來列出Git歷史記錄,顯示HEAD,分支和標記爲突出顏色。太好了!git登錄Windows的顏色和作者?

git log --oneline --decorate --graph --all 

但我沒有看到任何日期或作者!所以我發現另一個很好的命令:

git log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short 

也非常好 - 現在我可以看到日期和作者。但所有漂亮的顏色都消失了(除了圖表)。 HEAD,分支和標籤與日誌的其餘部分都是相同的顏色,因此很難挑選出來。

如何在保留日期和作者的同時獲取提交指針的顏色?

回答

0

這應該做你要找的內容:

git log --graph --abbrev-commit --decorate --format=format:'%C(bold blue)%h%C(reset) - %C(bold cyan)%aD%C(reset) %C(bold green)(%ar)%C(reset)%C(bold yellow)%d%C(reset)%n'' %C(white)%s%C(reset) %C(dim white)- %an%C(reset)' --all 

enter image description here

Taken from this post

+0

但我沒有日期。我可以弄清楚如何添加它們,但所有的分支指針是相同的顏色,不像'git log --oneline --decorate --graph --all'。 –

+0

我已更改條目以添加日期,分支顏色應該固定。 –

1

添加git log --decorate --graph,它會顯示分支,標籤等

--decorate [= short | full | no]

打印顯示的任何提交的ref名稱。如果指定了short,ref名稱前綴refs/heads /,refs/tags /和refs/remotes /將不會被打印。如果指定完整,則會打印完整參考名稱(包括前綴)。默認選項是短

--graph

借鑑的輸出左側的提交歷史的基於文本的圖形表示。這可能會導致將被打印額外的線路在提交之間,爲了得到適當的拉伸


For windows

format:<string>

圖形歷史

格式:forma t允許您指定要顯示的信息。它的工作原理與printf格式有點相似,但有一個值得注意的例外,那就是你用%n代替\ n來換行。

E.克,格式:The author of %h was %an, %ar%nThe title was >>%s<<%n會顯示這樣的事情:

The author of fe6e0ee was Junio C Hamano, 23 hours ago 
The title was >>t4119: test autocomputing -p<n> for traditional diff input.<< 

您可以使用日誌的格式標誌

# print out the git log 
git log 

# print out the branches split and merge points 
--graph 

# use the --pretty=format:... to choose which data to extract from the log 
# (commit) entry and print it out. 

# Set colors with the %C<color> & %Creset for resetting back to the default color 

The placeholders are

%C(…):顏色規格,如color.b中所述牧場。*配置選項;添加自動,只有當顏色啓用日誌輸出時,纔會發出顏色(通過color.diff,color.ui或--color,並且如果我們要去終端時,尊重前者的自動設置)。單獨自動(即%C(自動))將在下一個佔位符上開啓自動着色,直到顏色再次切換。

%C(…):顏色規格,如color.branch。* config選項中所述;添加自動,只有當顏色啓用日誌輸出時,纔會發出顏色(通過color.diff,color.ui或--color,並且如果我們要去終端時,尊重前者的自動設置)。單獨自動(即%C(自動))將在下一個佔位符上開啓自動着色,直到顏色再次切換。

%Cblue:開關顏色爲藍色
%Cgreen:開關顏色爲綠色
%Cred:開關顏色爲紅色
%Creset:復位顏色
%D:裁判的名字沒有 「(」 「),」 包裝。
%G?:顯示「G」爲一個良好的簽名,
「B」用於爲簽名,
「U」爲好,不受信任的簽名和
「N」爲沒有簽名
%GG:從GPG原料驗證消息已簽署承諾
%GK:表明用於簽名的密鑰簽署的承諾
%GS:表明簽名人已簽署的名義提交
%H:提交哈希
%N:提交票據
%P:父哈希
%T:樹哈希
%aD:作者日期,RFC2822風格
%aE:作者的電子郵件(尊重.mailmap,請查看git-shortlog(1)或git的怪(1))
%aI:作者日期,嚴格的ISO 8601格式
%aN:作者姓名(尊重。mailmap,請查看git-shortlog(1)或git的怪(1))
%ad:作者日期(格式方面--date =選項)
%ae:作者的電子郵件
%ai:作者日期,ISO 8601般的格式
%an:作者姓名
%ar:作者日期,相對
%at:作者日期,UNIX時間戳
%b:
%cD:的提交日期,RFC2822風格
%cE:提交者的電子郵件(尊重.mailmap,請查看git-shortlog(1)或git的怪(1))
%cI:的提交日期,嚴格的ISO 8601格式
%cN:提交者名稱(尊重.mailmap,請查看git-shortlog(1 )或GIT-怪(1))
%cd:提交者日期(格式方面--date =選項)
%ce:提交者電子郵件
%ci:提交者日期,ISO 8601樣形式
%cn:提交者名稱
%cr:提交者日期,相對
%ct:提交者日期,UNIX時間戳
%d: REF的名稱,如git的日誌(1)
%e:編碼
%f:消毒主題行,適合於一個文件名
%gD:引用日誌選擇器,例如的--decorate選項,參考文獻/藏匿@ {1}
%gE:引用日誌標識電子郵件(尊重.mailmap,見GIT-s​​hortlog(1)或GIT-怪(1))
%gN:引用日誌標識名(尊重.mailmap,見GIT-s​​hortlog(1 )或git-blame(1))
%gd:縮短引用日誌選擇器,例如,藏匿@ {1}
%ge:引用日誌標識電子郵件
%gn:引用日誌標識名稱
%gs:引用日誌受試者
%h:縮寫提交散列
%m:左,右或邊界標記
%n:換行符
%p:縮寫父散列
%s:主題
%t:簡化樹散列
%w([<w>[,<i1>[,<i2>]]]):開關線環繞,就像git-shortlog(1)的-w選項一樣。
%x00:打印從十六進制代碼字節


On unix

  • 如果使用基於烏審OS您可以使用此.githelpers

Output of the .githelprs script:

enter image description here