Acme::AjiFry にpull-request が飛んできたので、その時の対応を備忘録的に書きます。
自分のリポジトリにpull-request が飛んできたのは生まれて初めてなのでちょっと感動を覚えましたね。
@__papix__ さん、ありがとうございます。
master にpull-request が飛んできたら
master にpull-request が飛んできた時の選択肢としては、- 何も考えずにブラウザ上でmerge する
- fork 先のリポジトリごとclone してから動作テストをして、問題がないようであればブラウザ上でmerge する
- 自リポジトリにブランチを切ってからfork 先のリポジトリをpull する
まあ1 はちょっと怖いですね。
2 は選択としては悪くないとは思いますが、ちょっとスマートじゃない感じが。
というわけで今回は3 を選択しました。
やり方は至って簡単
まず、自分のリポジトリに対してブランチを切ってチェックアウトします。$ git checkout -b foobar
次に、fork 先のリポジトリ (つまり、pull-request の送りもと) の"Git Read-Only" のURL をpull します。
$ git pull <URL of "Git Read-Only">
で、とりあえずpush します。
$ git push origin foobar
ここで、動作テストをします。
ビルドを通したりテストスクリプトを実行してみたりして、所望の機能が実装されているか、
またレグレッションを起こしていないかをチェックしましょう。
良い感じだったらmaster にmerge します。
$ git checkout master $ git merge foobar
push もしましょう。
$ git push origin master
完了
これでオッケイです。ついでにISSUE に適当なコメントを付けてCLOSE しておけば良いでしょう。
(ふろく)pull-request の作法について参考にしたWeb サイト
GitHubへpull requestする際のベストプラクティス - hnwの日記git - 綺麗なpull requestを送るための3つのポイント - Qiita [キータ]
master にpull-request を送る事に関しては賛否両論あるようです。
僕は自分が非collaborator のリポジトリに対してはブランチを切ってpull-request を送るように心がけています。