git log (デフォルト)
コミットの詳細が見たい場合は git show で個別に見るから要らない。一覧性を高めたい。
(例でsvelteのリポジトリのログを出してます)
git log --oneline (デフォルト)
情報量が少ない。日付とコミッター名は欲しい。
git log (改善版)
コミット名 日付(相対) コミッター名 リファレンス コミットメッセージ
を表示するようにしています。
~/.gitconfig
に追記します。
~/.gitconfig
[log]
date = relative
[format]
pretty = format:%C(yellow)%h %C(blue)%>(12)%ad %C(green)%<(8)%aN %C(red)%d %C(reset)%s
日付を表示したい人は次のフォーマットにすると良いです。
[log]
date = format:%Y-%m-%d %H:%M
コミット見たい時に秒まではいらないと思うので分まで表示にしてます。
オプションの解説
[log]
date = relative
通常絶対時刻が表示されますが、 relative
にすると「2 days ago」「3 hours ago」といった人間が読みやすい相対時刻になります。
[format]
pretty = format:%C(yellow)%h %C(blue)%>(12)%ad %C(green)%<(8)%an %C(red)%d %C(reset)%s
pretty = format:...
はログ表示に使う書式を定義します。
横一列だと見づらいですが、全体の構造は以下のとおりです。
%C(yellow)%h # 黄色で短いコミットハッシュ(先頭7桁)を表示
%C(blue)%>(12)%ad # 青色で右寄せで幅12文字分を取って日付を表示([log] dateで指定したフォーマット)
%C(green)%<(8)%an # 緑色で左寄せで幅8文字分取ってコミット作成者の名前を表示
%C(red)%d # 赤色でコミットに付随するリファレンス(ブランチ名、タグ名)を表示
%C(reset)%s # 色をリセットしてデフォルトの白色でコミットメッセージの件名を表示
-
%C(red)%d
→%C(auto)%d
にするとブランチ名やタグ名も色分けされますが、個人的にごちゃごちゃ感がしたので赤一色にしています -
%Cred%d
括弧付ける必要はないのですが、見やすいので括弧付けてます - 相対日付を表示してますが、具体的な日時がわからないデメリットもあるので、別にエイリアス定義しても良いかもと思ってます
グラフ表示のエイリアス
~/.gitconfig
[alias]
tree = log --graph --pretty=format:'%C(yellow)%h %C(blue)%ad %C(green)%cn %C(magenta)%d %C(reset)%s'
$ git tree
コミットログのフォーマットについて
カスタマイズしたい人はこちらを参照ください。
https://git-scm.com/docs/pretty-formats