Web Developer's Struggle Memories

日々の業務から思ったこと、学んだことを書き連ねていきます。

git logをツリー状に表示する設定

git logの表示

普通にgit logを叩くと以下のようになる。

# git log

commit 466f2674c200c89f502a5f2585076e405f352628
Author: HogeUser <HogeUser@dummy.jp>
Date:   Wed Apr 1 10:18:47 2015 +0900

    使用してないfunctionを削除

commit 8be508ad7f918e9317cbeb2bae82184101d9842d
Merge: c966463 1f61ecc
Author: HogeUser <HogeUser@dummy.jp>
Date:   Tue Mar 31 22:48:53 2015 +0900

    Merge branch 'features/foo_bar'
    
    Conflicts:
        html/.htaccess

commit c966463efc680537461915bb05e4cb05b6ced11f
Author: HogeUser <HogeUser@dummy.jp>
Date:   Tue Mar 31 15:46:38 2015 +0900

    id毎に表示する情報を修正

これを、コマンドラインから以下のようなツリー構造に表示できるようにしてみた。
 

f:id:kito0039:20150708002139j:plain

実際の設定内容.gitconfigは以下。

git logの状態でコミットを見たいときもあるかもしれないので、新たにgit histというエイリアスを設定。
また、git statusエイリアスとしてgit stも追加。あとはuiにてカラー表示の設定。

[color]
    ui = true
[alias]
    st = status
    hist = log --graph --all --color --pretty=format:\" %C(yellow)%h%Creset %C(green)%an%Creset%x09%s %Cred%d%Creset\"

余談

いろんな方のサイトを参考に、自分は上記のような設定をしているが、%adをつけて、コミットした日付を表示しても良いかも。

他にもファイルのCRLFについての設定やパーミッションを変更した際は無視する設定などもしているが、 それはそれぞれググると素晴らしいサイトがあるので、そちらを参照していただきたい。