Mergeされたもの一覧を出したい
例えばリリースビルドに入る変更一覧を作成するとき。
例えばなんか挙動おかしいけどあの変更いつ入ったっけ。。?などを確認するとき。
あの地点からこの地点の間で、Mergeされたもの一覧で出せたらと思うことはありませんか?
それ、できます。
そう。 git log
コマンドならね。
やりたいこと
- GitHubのMerge Pull Request一覧を出したい
- 出した一覧をMarkdownリストにして、Github上のリリースに貼り付けたい
- このプロジェクトの場合、branchの命名規則が
issue/{番号}
になっているので、それを一覧に表示してリンクにしたい
最終的な完成形
実行ワンライナー
git log --merges --pretty='format:%s %b' 2.0.0.. | perl -nE 'say "- $1 $2" if $_ =~ /^Merge pull request (#[0-9]+) from yashims\/(.*)$/' | sed 's/issue\/\([0-9]*\)/\[issue\/\1\]\(https:\/\/github.com\/yashims\/sample\/issues\/\1\)/g'
- #2 [issue/1164](https://github.com/yashims/sample/issues/1) fix: devのドメインを変える
- #4 [issue/1179](https://github.com/yashims/sample/issues/3) グラフ描画ができていないのを修正
はい。一覧になって、pull-reqへのリンクと、issueへのリンクが出てますね。
ワンライナー中の 2.0.0..
を 適宜変えれば、2点間のmerge差分を取れます
-
2.0.0..
:2.0.0
からHEAD
の間 -
abcdef..123456
: 2点のコミットハッシュの間 -
origin/2.0.0..origin/2.0.1
: originの特定のタグの間
以上!なにかのお役に立てれば幸いです!