git-reflogに各エントリの横に日付を表​​示させる方法はありますか?


305

git-reflogコマンドは、デフォルトでは各エントリの横に日付を表​​示しません。これは奇妙な見落としのように私を驚かせます。これは非常に役立つと思います。

各reflogエントリが追加されたときにそれを表示させるために使用できるコマンドラインオプションやその他の微調整はありますか?マニュアルページは今後ではありません...

回答:


453

マニュアルページに書いているように、好きなようにgit log、、git reflog --pretty=shortまたは他のオプションを使用できます

試す

git reflog --date=iso

11
これにより、ヘッド番号(または正しい用語が何であれ)が日付に置き換えられます。両方持ってもらえますか?
Marco Eckstein、2014

7
@Marcoは、カスタム形式を使用する必要があるようです:git reflog --format='%C(auto)%h %<|(17)%gd %C(blue)%ci%C(reset) %s'。これにエイリアスを追加しました:github.com/blueyed/dotfiles/commit/…– blueyed '23
11/14

1
@blueyedまったく同じではありません--date=iso-reflogコマンドのinは、コミット時刻ではなく、reflogエントリが作成された時刻を示します。エイリアスを使用して、よりきれいなreflogを作成したので、引き続き感謝します。
ヨハンヘンケンズ

36

次の--walk-reflogsバリアントを使用できますgit log

git log -g

これはデフォルトではかなり冗長であり、とりわけ日付を出力します。標準の--pretty=フラグでフォーマットできます。

reflogコマンドと--pretty=フラグを直接使用して、出力をフォーマットすることもできます。

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

上記の形式%cdでは、通常のreflog出力の左側にコミット日付が表示されます。


9
%cdは、残念ながらreflogが指すコミットの日付を示していますが、残念ながら、これは私(またはOP)の日付ではありません。reflogエントリの日付が必要です。
タナトス2014

10
git log --walk-reflogs --date=isoちょうど私の日を作った
アロイス・マダル

7

カスタム形式を使用する必要があります:

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

上記の形式で、%hはコミットハッシュ、%crはコミッターの相対日付、%gsはreflogサブジェクト、%sはコミットサブジェクトです。他の可能なプレースホルダーについてはgit-logドキュメントを見てください。たとえば、%ci代わりに%crを使用すると、絶対コミット日付が表示されます。

カスタムpretty形式を使用して〜/ .gitconfigにこれを保存し、エイリアス経由で参照できます。

[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 2015

2
@ErikE -ただ、変更crするにはci、各アクションの完全なタイムスタンプを取得するには:git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%ci%C(reset) %gs (%s)'
n1k31t4

6

教えてgitどのような形式で、カウントのいずれかreflogのエントリまたは時限式reflogのエントリ、すなわち

$ git reflog @{now}

$ git reflog @{0}

私のプログラマーは内の「自然言語」の日付を好みません{}が、幸いにもこの手法はでも動作し--date=isoます。
mwfearnley

5

git 2.10(2016年第3四半期)では、日付に関するドキュメントがで改善されていますgit reflog

参照642833dをコミットし1a2a1e8コミット(2016年7月27日)、およびd38c7b2をコミットし522259dをコミットし83c9f95をコミットし2b68222コミットすることにより(2016年7月22日)ジェフ・キングを(peff
協力者:ジェフキング(peff
(による合併Junio C浜野- gitster-0d32799コミット、2016年8月8日)を

rev-listオプションが更新されます

出力REFLOG指示子はとして示すことができるref@{Nth}(ここでNthREFLOGで逆時系列のインデックスである)またはref@{timestamp}いくつかのルールに応じて、(そのエントリのタイムスタンプを有します)。

それが含まれています:-についての更新--date=raw

は、エポック(1970-01-01 00:00:00 UTC)からの秒数で日付を示し、その後にスペースが続き、次にUTCからのオフセットとしてタイムゾーン(a +または-4桁の数字。最初の2つは時間、 2番目の2つは分です)。
つまり、タイムスタンプが)でフォーマットされているかのようにstrftime("%s %z"))。
この-localオプションはseconds-since-epoch 値(常にUTCで測定されます)には影響しませんが、付随するタイムゾーン値を切り替えます。

そして新しいオプション: --date=unix

日付をUnixエポックタイムスタンプ(1970年からの秒数)で示します。
と同様に--raw、これは常にUTCであるため-local、効果はありません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.