👫

[GitHub] 僕たちはいつから、すれ違い始めたのだろうか

2024/05/16に公開

任意の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