2016-06-29 50 views
2

我傾向於使用git log --all --graph --oneline很多。Git記錄所有,顯示當前的提交方式不同

如果我目前的狀態在最後一次提交之後,我幾乎找不到我在圖形顯示上的位置。

有沒有一種方法,保存一般顯示(oneline,graph),以某種方式突出顯示當前修訂?

回答

2

您可以使用git log--pretty選項包括在提交的名單references(分支,標籤和HEAD):

git log --all --graph --pretty='%C(green)%h%Creset %C(cyan)%d%Creset %s' 

其中:

  • %C(color)%Creset改變顏色的輸出並將其重置爲其默認顏色,分別爲
  • %h擴展爲縮寫提交散列
  • %d膨脹以指向的參考文獻的列表提交
  • %s擴展到提交消息的第一行(即在「總結」)

您可以找到git log文檔的Pretty Formats部分佔位符的完整列表。

當然,你不希望這一切你想看看歷史上的每一次輸入,讓我們創建一個alias它:

git config --global alias.lg \ 
    "log --all --graph --pretty='%C(green)%h%Creset %C(cyan)%d%Creset %s'" 

在這一點,你可以簡單地說git lg

或者,你可以指定默認漂亮格式format.pretty配置設置用於git loggit showgit whatchanged

git config --global format.pretty '%C(green)%h%Creset %C(cyan)%d%Creset %s' 
+0

不錯,你認爲這是可以自定義的'pretty'有當前提交的不同亮點? – nobe4

+1

不幸的是,沒有。至少我不知道。但是你總是可以編寫一個腳本,它使用正則表達式來查找包含「HEAD」的行,並在將其發送到stdout之前應用不同的顏色。然後可以通過別名中的腳本來管理'git log'的輸出。例如,假設你的腳本被稱爲'highlight-head',你可以寫下如下的別名:'git config --global alias.lg「!git log --all --graph --pretty =''| highlight-head「' –

相關問題