Published on

コミット ID からそのコミットが含まれている PR を探す方法

このコミットの変更はどんな意図でやったんだ? というのを知りたい時に PR を探したいことがたまにあるのでメモ。

GitHub

GitHub だと簡単で、単純に PR 一覧画面からコミット ID で検索するだけ。
ローカルでやりたい時は以下のコマンドを叩く

gh pr list -s all -S コミットハッシュ -w

参考

Azure DevOps

Azure DevOps というか Azure Repos では、自分の知る限りでは gh みたいな便利なコマンドがない。
なので grep 駆使して頑張る。 (Azure DevOps REST API 使ってもできるかも?)

git log --oneline --reverse --ancestry-path "{コミットID}...{統合ブランチ}" | grep 'Merge pull request'

色々書いてるけど以下をやってるだけ

  1. そのコミットから見つけたい PR が含まれている統合ブランチ ( develop とか main とか) の最新コミットまでのログをはく
  2. PR のマージコミットのメッセージに含まれてる(はずの) "Merge pull request" という文字列で grep する

参考