upstream 以外の他の人のリポジトリから出されている Pull Request をレビューする際に動きを手元で確認する場合の方法について kamipo さんに相談したところ hub merge
を教えてもらった。
% git checkout -b <try_hub_merge_branch> % hub merge <pull request URL>
例えば自分がいま RuboCop でレビューしている PR について念のため動きを確認したかった際の例は以下。
% git checkout -b hub_5592 % hub merge https://github.com/bbatsov/rubocop/pull/5592
この bbatsov/rubocop#5592 の PR は https://github.com/elebow/rubocop リポジトリの add-cop-activerecord-aliases ブランチがベースなので、知らないと elebow/rubocop を clone して...とか、最小のパッチをどうするかとか重い操作になるので、そういったこと一切なく手元に持ってこれるのでべんり。
追記 他にも以下の方法を教えてもらった。ありがとうございます。
hub mergeだとcheckoutしたタイミングのcommitにPRの内容をマージしそうですけどそれでOKですか? hub checkout だとそのPRのブランチをcheckoutして手元に持ってきます。
— 🍻 (@kompiro) 2018年2月26日
アプリの開発とかでdevelopとPRの内容をマージした結果を確認したい、ならhub mergeが良さそうですね。
PR の 'view command line instructions' 開いて、'Step 1: From your project repository, check out a new branch and test the changes.' では事足りないです? pic.twitter.com/KAXC4pZWF8
— kei-s (@kei_s) 2018年2月26日