シナリオは次のとおりです。
私は公開レポAを持っています。BobはAをフォークし、 にいくつかのコミットを追加しBob/master
てプル リクエストを送信し、これらの変更を にマージしA/master
ます。にマージする前に、提案されたプル リクエストにいくつかの変更を加えたいと思いA/master
ます。
にプッシュできない場合、どうすればそれを行うことができBob/master
ますか?
シナリオは次のとおりです。
私は公開レポAを持っています。BobはAをフォークし、 にいくつかのコミットを追加しBob/master
てプル リクエストを送信し、これらの変更を にマージしA/master
ます。にマージする前に、提案されたプル リクエストにいくつかの変更を加えたいと思いA/master
ます。
にプッシュできない場合、どうすればそれを行うことができBob/master
ますか?
ここで使用できるワークフローは多数あります。いくつかの例は次のとおりです。
プル リクエストにコメントし、Bob に変更を加えてもらいます。詳細については、プル リクエストのディスカッションを参照してください。
プル リクエストを別のブランチにマージし、マスターにマージする前に変更を加えます。コマンドラインからこれを行う必要があります。段階的な手順については、プル リクエストのマージを参照してください。
で適用する前にパッチを編集しgit am
ます。パッチと適用を参照してください。これはおそらく最も柔軟なオプションですが、最も手動的でもあります。
git checkout master
curl http://github.com/<username>/<project_name>/pull/<patch_number>.patch
sensible-editor <patchfile>
git am <patchfile>
git push origin master
Bob/master
解決策の 1 つは、リビジョンを含むPR を作成することです。Bob/master
Bob はあなたの PR を;にマージできます。Bob の PR を にマージA/master
すると、Bob のコミットとあなたのコミットが含まれます。
任意のフォーク/ブランチから他の任意のフォーク/ブランチへの PR を作成できます。したがって、Bob が から PR を送信した場合は、PR をBob/feature
に作成するだけBob/feature
です。
ローカルリポジトリの彼のブランチからプルできます(github gui内ではありません)
# make same work-in-progress branch and check it out
$ git checkout -b WIP
# pull his changes into WIP
$ git pull https://github.com/... master
そこから容赦なく変わる。
もう 1 つのオプションは、github のコメント システムを使用して、彼にパッチセットを変更するように説得することです (そうすれば、マージ後もクレジットを保持することができます)。