ゆうなんとかさんの雑記帳的な。

Twitterで踊ったり音ゲーしたりしてるあの名前がよくわからない人が書いてるらしいよ。

Pull Requestを処理してみた

今までは送る側だったのですが、今回はうける側をやってみようと思います。

うまくいったときの流れ

PullRequestを送ると、送られた側のリポジトリにはこういう感じのissueが追加されます。
f:id:yuu_xxxx:20130523230805p:plain
「Merge Pull Request」というボタンを押すとテキストボックスが表示されるので、
f:id:yuu_xxxx:20130523231020p:plain
ここに適当なメッセージを入れて「confirm merge」というボタンを押すとGitHubの方で勝手にマージしてくれます。うまくいけば
f:id:yuu_xxxx:20130523231222p:plain
というふうにマージされ、issueがクローズされます。めでたしめでたし。必要であれば「delete branch」のボタンを押すことでマージしたブランチを削除することができます。

競合が起きたときはどうなるんだろう…

結局PullRequestを送れるような競合を起こせなかったので未体験ですが、自動でマージはしてくれないようです。当たり前ですが…
こういう時は少々面倒ですが手動でやることになります。

こちらでひと通りの作業を紹介してくれています。ざっくり説明すると

  1. 問題のリポジトリをpullしてくる
  2. PullRequestを投げてくれた人のリモートリポジトリを追加
  3. とりあえずマージしようとする
  4. 競合を解決してコミットする
  5. pushしておしまい

こんなかんじです。最初以外はローカルで競合が起きたときとそれほど違いはないようですね。