git log
コマンドは--graph
オプションなどの組み合わせで、良い感じにコミットグラフを表示させる事ができます。git log --graph --date-order -C -M --pretty=format:\"<%h> %ad [%an] %Cgreen%d%Creset %s\" --all --date=short
Gitのちょっと便利な使い方 (ゆめ技:ゆめみスタッフブログ) http://yumewaza.yumemi.co.jp/2010/07/git.html より
git config --global alias.graph 'log --graph --date-order -C -M --pretty=format:"<%h> %ad [%an] %Cgreen%d%Creset %s" --all --date=iso'
1 Entry per Day: git graph http://mstssk.blogspot.jp/2012/03/git-graph.html より
ブランチやオプションの指定をしたい
上記のままでも良い感じですが、普通のgit log
同様にブランチを指定したりなどしたい。そこで、シェルスクリプトを作ってそれを
git graph
というエイリアスで実行できるようにしてみる。gitのエイリアス設定は、!マークを先頭に付けると任意のシェルコマンドを実行させられる。
git config --global alias.graph '!~/.git-graph.sh'※設定出来るシェルコマンドはあくまで1つだけらしい。コマンドをパイプで繋ぐ事は可能だったが、セミコロンが使えないので制御文をワンライナーで記述したりは出来ない。
.git-graph.sh の中身
実行例1:オプション無しなら
--all
オプションを自動で付加して実行する$ git graph * <b4840e1> 2013-01-16 22:38:56 +0900 [mstssk] (HEAD, master) F * <93d7f2c> 2013-01-16 22:38:50 +0900 [mstssk] E | * <659324a> 2013-01-16 22:38:28 +0900 [mstssk] (experiment) D | * <1210e5e> 2013-01-16 22:38:18 +0900 [mstssk] C |/ * <3251633> 2013-01-16 22:32:08 +0900 [mstssk] B * <4264244> 2013-01-16 22:31:56 +0900 [mstssk] A * <4a0ab4a> 2013-01-16 22:28:16 +0900 [mstssk] first commit
実行例2:ブランチ名を指定すれば、そのブランチのlogだけを表示
$ git graph experiment
* <659324a> 2013-01-16 22:38:28 +0900 [mstssk] (experiment) D
* <1210e5e> 2013-01-16 22:38:18 +0900 [mstssk] C
* <3251633> 2013-01-16 22:32:08 +0900 [mstssk] B
* <4264244> 2013-01-16 22:31:56 +0900 [mstssk] A
* <4a0ab4a> 2013-01-16 22:28:16 +0900 [mstssk] first commit
実行例3:日付形式を変更。※シェルがテキトーなので
--all
が付かなくなる。$ git graph --date=local
* <b4840e1> Wed Jan 16 22:38:56 2013 [mstssk] (HEAD, master) F
* <93d7f2c> Wed Jan 16 22:38:50 2013 [mstssk] E
* <3251633> Wed Jan 16 22:32:08 2013 [mstssk] B
* <4264244> Wed Jan 16 22:31:56 2013 [mstssk] A
* <4a0ab4a> Wed Jan 16 22:28:16 2013 [mstssk] first commit
tab補完もしたい
ここまで来たらtab補完もしたい。git log
と同じ補完をしてくれるようにするには、以下の設定ファイルを ~/.bash_completion という名前で置いておく。 既に ~/.bash_completion があるなら、追記すれば良い。
0 件のコメント:
コメントを投稿