git-reflogコマンドは、デフォルトでは各エントリの横に日付を表示しません。これは奇妙な見落としのように私を驚かせます。これは非常に役立つと思います。
各reflogエントリが追加されたときにそれを表示させるために使用できるコマンドラインオプションやその他の微調整はありますか?マニュアルページは今後ではありません...
git-reflogコマンドは、デフォルトでは各エントリの横に日付を表示しません。これは奇妙な見落としのように私を驚かせます。これは非常に役立つと思います。
各reflogエントリが追加されたときにそれを表示させるために使用できるコマンドラインオプションやその他の微調整はありますか?マニュアルページは今後ではありません...
回答:
マニュアルページに書いているように、好きなようにgit log
、、git reflog --pretty=short
または他のオプションを使用できます
試す
git reflog --date=iso
git reflog --format='%C(auto)%h %<|(17)%gd %C(blue)%ci%C(reset) %s'
。これにエイリアスを追加しました:github.com/blueyed/dotfiles/commit/…– blueyed '23
--date=iso
-reflogコマンドのinは、コミット時刻ではなく、reflogエントリが作成された時刻を示します。エイリアスを使用して、よりきれいなreflogを作成したので、引き続き感謝します。
次の--walk-reflogs
バリアントを使用できますgit log
。
git log -g
これはデフォルトではかなり冗長であり、とりわけ日付を出力します。標準の--pretty=
フラグでフォーマットできます。
reflogコマンドと--pretty=
フラグを直接使用して、出力をフォーマットすることもできます。
git reflog --pretty='%cd %h %gd %gs'
上記の形式%cd
では、通常のreflog出力の左側にコミット日付が表示されます。
%cd
は、残念ながらreflogが指すコミットの日付を示していますが、残念ながら、これは私(またはOP)の日付ではありません。reflogエントリの日付が必要です。
git log --walk-reflogs --date=iso
ちょうど私の日を作った
カスタム形式を使用する必要があります:
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)
%gd
日付が表示され@{now}
ないことです。reflogを検索するとき、正確な時刻を知ることは非常に重要です(たとえば、「8:57に正しい状態だったことがわかります」など)。
cr
するにはci
、各アクションの完全なタイムスタンプを取得するには:git reflog --format='%C(auto)%h %<|(20)%gd %C(blue)%ci%C(reset) %gs (%s)'
教えてgit
どのような形式で、カウントのいずれかreflog
のエントリまたは時限式reflog
のエントリ、すなわち
$ git reflog @{now}
$ git reflog @{0}
{}
が、幸いにもこの手法はでも動作し--date=iso
ます。
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日)を
出力REFLOG指示子はとして示すことができる
ref@{Nth}
(ここでNth
REFLOGで逆時系列のインデックスである)または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
、効果はありません。