読者です 読者をやめる 読者になる 読者になる

log.fstn

技術よりなことをざっくばらんにアウトプットします。

直近のコミットを表示する show-gitlog コマンドをつくった

直近の自分のコミットを知りたいなーって思うことってあると思います。
* 今日何やったっけ?
* 先月からどれだけ進んだっけ?
* 日報に成果書かなきゃ!
とか。

GitHubAPI 使ってごにょごにょするのもいいんだけど、全てのコミットを GitHub に上げてるわけじゃないし、全てのレポジトリの各ブランチをさらったりするのも面倒だったので、簡単なシェルスクリプトを書いてみた。

https://github.com/foostan/show-gitlog.sh

例は下のような感じ

> show-gitlog . 7.days.ago
sandbox
Fri Jun 6 02:41:17 2014: (HEAD, master):first commit

psychoframe
Tue Jun 3 01:12:24 2014::first commit
Tue Jun 3 01:28:59 2014::Include capistrano
Tue Jun 3 01:33:46 2014::Add funnel
Wed Jun 4 03:14:12 2014: (origin/master, master):Receive serf event for capistrano
Fri Jun 6 02:32:16 2014: (HEAD, test):Add test file

show-gitlog
Fri Jun 6 02:41:58 2014::first commit
Fri Jun 6 03:27:15 2014::Add the show-gitlog command
Fri Jun 6 03:28:58 2014: (HEAD, origin/master, master):Update README.md

ソース読んでもらえればわかると思いますが
* find で .git/ 検索
* git log コマンドで全ブランチの直近の履歴取得
をしています。
正直どこまでパフォーマンス出るかはわかりません。