むにえる牧場

毎日むにえるをつくっています

git logのaliasをつくりcommit logを見やすくする

概要

デフォルトの git log コマンドだとぱっと見でcommit logの流れがわかりづらい状況でした。
複数branchあったり、細かくcommitした結果logが深くなっていたりするとデフォルトのlogだと、状況を把握するのに時間がかかります。 デフォルトの git log コマンドだと表示がこんな形式に。
1画面に表示される5つのcommit情報しか表示されませんし、繋がりも見づらいため、把握するのが難しいです。 f:id:jalemy:20181104185629p:plain

そこで、 git log にいろいろオプションをつけるaliasをつくり、logの出力を見やすくしました。
僕が使っているaliasではこんな感じの見た目に。
f:id:jalemy:20181104180805p:plain

aliasの紹介

.gitconfig

[alias]
    gr = log --graph --all --oneline --decorate=auto --color

graph上にlogを出力するの意味で gr を当ててます。

--graph

ブランチの歴史をアスキーグラフで出力するようにするオプションです。

--all

リモート含めて全てのbranchの状態を表示するオプションです。

--oneline

出力内容を1行のシンプルなフォーマットに変更してくれるオプションです。
これのおかげでlogの流れがぱっと見で見やすくなります。

--decorate

branchの名称や、現在HEADがどこのbranchを指しているかなどの表示方法を変更するオプションです。
full auto no と3種類設定があり、特に何も指定していないと auto になります。

git log --decorate=auto

だとこんな感じの表示になり、

f:id:jalemy:20181104182007p:plain

git log --decorate=no

だとこんな感じになります。 f:id:jalemy:20181104182057p:plain

color

表示を色付きでカラフルにしてくれるオプションです。
しかし .gitconfig

[color]
    ui = auto

を指定しておけばcolor出力できるものは全てしてくれるのでわざわざ指定する必要もないかも……?

まとめ

よく使うgitコマンドはaliasつくっておけば楽ができます。便利です。
上記で紹介した他、authorを表示するオプションとか、変更点がどのくらいあったかといった情報を表示するオプションとかいろいろとあるので、自分の環境に沿ったaliasをつくると幸せになると思います。

参考

Git - git-log Documentation