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

$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

gitでpush前のcommitの一覧をリスト記法で取得する

tech

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がリンクになってくれない
  • コメントに対する対応関係は自分で手書きする必要がある

という不便さがまだあるので何とかしたい。