github上でコードレビューをされた時、あるコメントに対する変更点を列挙して、「こういうふうに直しました」と言いたい時がある。こういう時にpush前のcommitをリスト記法で貼り付けたい。
なんか出来ないかなと思ったら、以下のようにしたら出来た。
$ git log @{u}..HEAD --format="- %H %s" - 2b237548bcd779abd3f15d413b3540f4c8699cd2 perlで使っていないモジュールを検出してくれる - 998d3198bf96ab545f315005128342e124941bc4 fix - 3434242410997a2be106b3596b810539c5fce0f4 IntelliJの起動ショートカット - ae0ab4f3397587282b87ed3de8754e971bd0c8c6 gopath - 8f8a230ca3fffc4536fc4107e6d76308e91a801c envを移動
@{u}は現在のブランチのupstreamを指すための省略記法。man gitrevisionsをすればいろんな記法を知ることが出来る。
またgit logなどはformatを指定できるオプションが付いているので、それを利用して、
- (revision) (commitメッセージ)
というフォーマットで出力するようにしている。
これでちょっと便利になったけど、
- pushしないと、githubに貼り付けた時にcommit hashがリンクになってくれない
- コメントに対する対応関係は自分で手書きする必要がある
という不便さがまだあるので何とかしたい。