2013-06-28 56 views
158

git-reflog命令默認情況下不會在每個條目旁顯示一個日期,這讓我覺得這是一個奇怪的疏忽;我認爲這會非常有幫助。有沒有辦法讓git-reflog在每個條目旁顯示一個日期?

是否有任何命令行選項或其他調整可用於使其顯示每個reflog條目的添加時間?該manpage沒有着落......

+1

upvotes的數量表明這是多麼迫切需要這是默認值。你在讀Torvals先生嗎? –

回答

231

由於該男子頁寫入可以使用選項git log,說git reflog --pretty=short或其他任何你喜歡

嘗試

git reflog --date=iso 
+7

這會用日期替換頭號(或任何正確的術語)。你能擁有兩個嗎? –

+5

@Marco看來你必須使用自定義格式:'git reflog --format ='%C(auto)%h%<|(17)%gd%C(blue)%ci%C(reset)% s''。 我爲此添加了一個別名:https://github.com/blueyed/dotfiles/commit/5c4e4be9fc6a56d1ccbc16398ac3fef007d5cc47 – blueyed

18

可以使用--walk-reflogs變種git log

git log -g 

這是在默認情況下相當冗長,並打印在其他事情的日期。您可以使用標準的--pretty=標誌對其進行格式化。

您也可以直接使用reflog命令和--pretty=標誌來格式化輸出。

git reflog --pretty='%cd %h %gd %gs' 

在上面的格式,%cd示出了提交日期到正常引用日誌輸出的左側。

+6

'%cd',顯示reflog指向的日期,不幸的是,這不是我(或OP)之後的事情:我們需要reflog條目的日期。 – Thanatos

+3

'git log --walk-reflogs --date = iso'只是讓我的一天 –

5

告訴以什麼格式git,無論是計算reflog項或定時reflog條目,即

$ git reflog @{now} 

$ git reflog @{0} 
4

您必須使用自定義格式:

git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s)' 

在上述格式中,%h是提交散列,%cr是相對的提交日期,%gs是引用日誌主體,而且,%s是提交主題。查看其他可能佔位符的git-log docs。例如,使用%ci而不是%cr將顯示絕對提交日期。

你可以在你的〜/的.gitconfig使用自定義pretty格式保存這一點,並通過別名引用它:

[alias] 
    rl = reflog --pretty=reflog 
[pretty] 
    reflog = %C(auto)%h %<|(20)%gd %C(blue)%cr%C(reset) %gs (%s) 
+1

問題在於'%gd'不顯示與@ {now}相同的日期。當搜索reflog時,知道確切的時間可能非常重要(例如,「我知道它在8:57處於正確的狀態」)。 – ErikE

2

注混帳2.10(Q3 2016)提高約日期git reflog的文檔。

Jeff King (peff)通過參見commit 642833dcommit 1a2a1e8(2016年7月27日),和commit d38c7b2commit 522259dcommit 83c9f95commit 2b68222(2016年7月22日)。
已幫助:Jeff King (peff)
(在commit 0d32799Junio C Hamano -- gitster --合併,2016年8月8日)

rev-list options is updated

在輸出中的引用日誌指示符可被示爲[email protected]{Nth}(其中Nth是逆時間索引在reflog)或[email protected]{timestamp}(以及該條目的時間戳),具體取決於一些規則。

It includes: - 約--date=raw的更新:

顯示自紀元(1970-01-01 00:00:00 UTC)的時間爲秒,後跟一個空格,然後時區與UTC的偏移量(一個+-四位數;前兩個是小時,第二個是幾分鐘)。
即,如同時間戳被格式化爲strftime("%s %z"))。
請注意,-local選項不會影響seconds-since-epoch 值(它始終以UTC測量),但會切換附帶的 時區值。

和一個新的選項:--date=unix

顯示日期作爲Unix紀元時間戳(秒自1970)。
--raw一樣,這始終是UTC,因此-local不起作用。

相關問題