LoginSignup
0
0

ステップバイステップでgit logを自分流にカスタマイズする

Last updated at Posted at 2023-09-08

git-2.39.2

以下の手順を踏んでgit logをカスタマイズしていきます。

  • git logに項目を追加
  • それぞれの項目に色を設定
  • エイリアスの設定

--onelineと--graphオプションではこんな見た目になります。
スクリーンショット 2023-09-06 11.54.30.jpg

相対時間、作成者などの情報を付与して、色をつけて以下のような見た目にしていきます。

git log --format='%C(auto)%h %d %C(bold white)%s%Creset %C(brightred)%ch(%cr)%Creset %C(brightcyan)<%an>' --graph -n 5

スクリーンショット 2023-09-08 23.15.57.jpg

必要な項目を追加する

git logのpretty formatオプションの公式ドキュメントを参考に必要な項目をつけていきます。

最初の状態として、onelineオプションと、graphオプションを指定した状態を見せます。

pyenvのリポジトリでコミット数5個を表示しています。

git log --oneline --graph -n 5

スクリーンショット 2023-09-06 11.54.30.jpg

ここから必要な項目を追加するにはformatオプションを使います。
onelineオプションには省略されたコミットハッシュと件名が表示されているので、%h(省略されたコミットハッシュ)と%s(件名)を追加します。

git log --format='%h %s' --graph -n 5

スクリーンショット 2023-09-06 12.04.33.jpg

色がなくなると辛いですが、色は次の節でつけていきます。
コミットハッシュの後にある参照情報 (HEAD -> master, origin/master, origin/HEAD) がないので、%dもつけます。

git log --format='%h %d %s' --graph -n 5

スクリーンショット 2023-09-08 22.58.32.jpg

コミットした時刻を追加します。2日前など相対的な時間も追加します。
コミット時刻は %ch 、相対時刻は %cr です。
相対時刻は () で囲みました。

git log --format='%h %d %s %ch(%cr)' --graph -n 5

スクリーンショット 2023-09-08 22.59.24.jpg

最後にコミットした人 %an も追加します。
見やすくなるように <> で囲みました。

git log --format='%h %d %s %ch(%cr) <%an>' --graph -n 5

スクリーンショット 2023-09-08 23.00.09.jpg

色をつける

gitのテキストカラーの公式ドキュメント を参考に色をつけていきます。

%C%Creset で囲んだ範囲を、 %C の直後に指定した色で装飾します。

%C(色の指定) 〜〜〜 %Creset

()は見やすくするためにつけていますが必須ではありません。bold whiteなど複数単語を入力する場合は必要になります。

まずはgitにお任せする auto という指定があるので、autoを使ってみます。

git log --format='%C(auto)%h %d %s %ch(%cr) <%an>' --graph -n 5

スクリーンショット 2023-09-08 23.00.38.jpg

参照情報まではいい感じですが、その後の項目はノータッチという印象です。
件名を太字の白 bold white にします。

git log --format='%C(auto)%h %d %C(bold white)%s%Creset %ch(%cr) <%an>' --graph -n 5

スクリーンショット 2023-09-08 23.05.03.jpg

少し見やすくなった気がします。
同様に時刻を明るい赤 brightred 、作成者を明るいシアン brightcyanにします。

git log --format='%C(auto)%h %d %C(bold white)%s%Creset %C(brightred)%ch(%cr)%Creset %C(brightcyan)<%an>' --graph -n 5

スクリーンショット 2023-09-08 23.15.57.jpg

今回は色の名前を指定していますが、RGBのカラーコードで自由に設定できます。
参考までに作成者名を #ff0ab3 の色をつけてみます。

git log --format='%C(auto)%h %d %C(bold white)%s%Creset %C(brightred)%ch(%cr)%Creset %C(#ff0ab3)<%an>' --graph -n 5

スクリーンショット 2023-09-08 23.17.33.jpg

エイリアスの設定

毎回入力していられないので、エイリアスを設定します。
今回は全リポジトリに適用されるようにホームディレクトリ直下の.gitconfigファイルにエイリアスを設定しました。
log以降のオプションをlgに短縮する設定です。

.gitconfig
[alias]
lg = log --format='%C(auto)%h %d %C(bold white)%s%Creset %C(brightred)%ch(%cr)%Creset %C(brightcyan)<%an>' --graph

最後までお付き合いありがとうございました。

参考リンク

git logのフォーマット
https://git-scm.com/docs/git-log?ref=justinjoyce.dev#_pretty_formats

使える色
https://git-scm.com/docs/git-config#Documentation/git-config.txt-color

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0