GitHubのPull Requestを簡単にチェックアウトするたった1つの方法
みんな知ってるものだと思ったけど、あまり周りで知ってる人がいなかったのでブログに書いた。
こういう釣りタイトルっぽいブログ、一度書いてみたかった。
参考
Checking out pull requests locally - User Documentation
参考というか、そのままだけど。
方法
Pull Requestの ID
を BRANCHNAME
にfetchします。 *1
$ git fetch origin pull/ID/head:BRANCHNAME
ブランチをcheckoutします。
git checkout BRANCHNAME
これだけです。forkした人のリポジトリを remote add
する必要はないです。
おまけ
マージ後のsha1
ちなみに、Pull Requestのマージ前だと、 pull/ID/merge
を使うこともできます。
$ git fetch origin pull/ID/merge:BRANCHNAME
これで、Pull Requestのマージ後のsha1が取れます。
fast-forwardじゃないPull Requestの動作確認をしたい時に便利です。
リモートのブランチ一覧
こんな感じでGitHub上のリポジトリにあるブランチが見えます。
$ git ls-remote origin xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx HEAD xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/heads/master xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/pull/1/head xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx refs/pull/2/head
*1:IDはPull Requestの番号、BRANCHNAMEは好きなブランチ名