GitHubでPull Requestを綺麗にマージする方法を知ったので試してみたときのメモ。
背景と問題意識
今まで「Merge pull request」ボタンを押してたけど、コミットログ上で「Merge pull request...」というコミットが入ってしまうのが気になっていた。
このやり方だと、それが起きないのでコミットログが綺麗になるし、送られたパッチをまとめたり修正を追加したりも自由にできるので、いいことづくし。
PRのコミットをローカルに取り込む
GitHub上のPRのURLを調べて、末尾に.patch
をつけたURLを使って以下のコマンドを実行する。
curl -L https://github.com/ossc-db/pg_rman/pull/31.patch | git am
これでマージ可能なPRなら、ローカルにパッチがcommitされた状態になる。
ローカルでコミットを修正する。
修正を追加してgit rebase
やgit commit --amend
。
その際、コミットメッセージの最終行に
Closes #XXX
としてPRの番号を書いておくと、git push
した際にGitHub側で自動でPRをcloseしてくれる。便利!
情報元
GitHubでPull Requestを修正して取り込む
GitHubでの”Merge pull request”の弊害