👫
[GitHub] 僕たちはいつから、すれ違い始めたのだろうか
任意の2つのコミット(or タグ or ブランチ)の分岐地点のコミット SHA は、GitHub CLI を用いて次のように取得することが出来ます。
例えば main
ブランチと develop
ブランチの分岐点を知りたい場合は、
$ gh api 'repos/{owner}/{repo}/compare/main...develop' | jq -r '.merge_base_commit.sha'
2223e644f5c09b61ac8a0eed04d1d2726febeaed
となります。
もし手元にリポジトリをチェックアウトしている状況であれば、git diff
の --merge-base
オプションで分岐点を取得してもよいと思います。
おまけ
他によくある?ユースケースとして、任意のコミット(or タグ or ブランチ)はどのプルリクでマージされたんだろう?というのを調べる場合は、次のようにしてプルリク番号を取得することが出来ます。
$ gh api 'repos/{owner}/{repo}/commits/2223e644f5c09b61ac8a0eed04d1d2726febeaed/pulls' | jq '.[].number'
198
結果が複数の場合は、プルリク番号は複数行になるので、シェル等で処理する場合は注意。
198
203
Discussion