「コミット日」を表示するように「git log」を設定する方法


127

代わりgit logに表示commit dateするように設定するにはどうすればよいauthor dateですか?


25
@Colleen各コミットには、AuthorDateとCommitDate(git show --pretty=fuller HEAD例を示す)の2つの日付が関連付けられています。ローカル開発の場合、これらは通常同じですが、電子メールまたはその他のメカニズムを介して追加されたパッチの場合、それらは異なる可能性があります。AuthorDateはパッチが生成された日付であり、CommitDateは実際にリポジトリに適用された日付です。
twalberg 2013年

回答:


145

日付をきれいに出力するには、いくつかのオプションがあります。おそらく最も簡単なのは、事前にベイクされた--prettyフォーマットの1つを使用することgit log --pretty=fullerです。これにより、両方の日付が表示されます。1つの日付のみを表示したいが、それをコミット日付にしたい場合は、を使用できますgit log --format=<some stuff>。形式を定義するために許可されるすべてのコードは、に記載されていgit help logます。日付がの一つであるコミット%cd%cD%cr%ctまたは%ci、どのような形式に応じて、あなたがそれを好みます。

頻繁に実行したい場合は、エイリアスに追加するか、入力を省くための補助スクリプトを記述します。


53

コミット日付相対に--pretty=format使用できます%cr

例えば:

$ git log --graph --pretty=format:'%C(auto)%h%d (%cr) %cn <%ce> %s'

これを使いやすくするために、gitでエイリアスを定義できます。私には次のものがあります.gitconfig

[alias]
# see `git help log` for detailed help.
#   %h: abbreviated commit hash
#   %d: ref names, like the --decorate option of git-log(1)
#   %cn: commiter name
#   %ce: committer email
#   %cr: committer date, relative
#   %ci: committer date, ISO 8601-like format
#   %an: author name
#   %ae: author email
#   %ar: author date, relative
#   %ai: author date, ISO 8601-like format
#   %s: subject
# my awesome git log replacement
lol  = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s\"
# same as above, but ISO date
lold = log --graph --pretty=format:\"%C(auto)%h%d%Creset %C(cyan)(%ci)%Creset %C(green)%cn <%ce>%Creset %s\"
# using build-in standards
lol2 = log --oneline --graph --decorate
# shows branches and their last commits
lol3 = log --all --graph --decorate --oneline --simplify-by-decoration

Linuxまたは同様のシステムで'は、二重引用符の代わりに単一引用符を使用できます"

[alias]
lol = log --graph --pretty=format:'%C(auto)%h%d%Creset %C(cyan)(%cr)%Creset %C(green)%cn <%ce>%Creset %s'

これを使用して、単純にgit lol、または他のバリアントを実行して、きれいな出力を確認します。

これが出力ですgit lol --simplify-by-decoration

git lol出力

  • よさそうです。:)
  • lolはタイプするのが簡単logで、音も良くなります。
    • また、git log必要に応じてレギュラーにアクセスできます。
  • さまざまな色で目をすばやくスキャンできます。
  • 名前と電子メールは、多くの貢献者がいる大規模なプロジェクト/組織に非常に役立ちます。
  • ハッシュ/参照にはデフォルトのカラーリングを使用します。

これgit loldはISO形式のwith の出力です。コミットが行われた正確な日付/時刻を確認するのに役立ちます。また、寄稿者のタイムゾーンを簡単に確認できるという利点があります。

ここに画像の説明を入力してください

編集2020-06:スクリーンショットを追加しました。(コミットハッシュ)と(参照名)に%C(auto)(自動/デフォルトのカラーリング)を使用するように更新されました。追加されましたメールに加えて、(コミッタ名)。%h%d%cn


1
解析エラーが発生します:git log --graph --pretty=format:\"%C(yellow)%h%Creset%C(cyan)%C(bold)%d%Creset %C(cyan)(%cr)%Creset %C(green)%ce%Creset %s\" bash:予期しないトークンに近い構文エラー `( '
frakman1

2
@ frakman1 —端末で上記の行を実行するには、エスケープを解除する必要があります
16

2
修正された行:git log --graph --pretty = format: "%C(yellow)%h%Creset%C(cyan)%C(bold)%d%Creset%C(cyan)(%cr)%Creset% C(緑)%ce%Creset%s "
RedSands 2016年

1

私はこの形式を好み、作者名を含まず、コミットの実際の日付を含めます。

git log --graph --pretty=format:"%C(yellow)%h%x09%Creset%C(cyan)%C(bold)%ad%Creset  %C(green)%Creset %s" --date=short
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.