マージするターゲットブランチを変更するようにGitHubのプルリクエストを変更するにはどうすればよいですか?


117

私のブランチからマスターへのマージを要求しているプルリクエストがありますが、所有者は私のブランチから別のブランチにマージする要求を変更することを望んでいます。

これは可能ですか?可能な解決策は何ですか?

回答:


137

2016年8月の更新:プルリクエストのベースブランチを変更すると、最終的にそのブランチを変更できるようになります。
(これにより、3歳で、1500件以上のコメントがあった問題18がクローズされます)

プルリクエストを作成したら、プルリクエストの変更が別のブランチと比較されるようにベースブランチを変更できます。

ここに画像の説明を入力してください


元の答え:

ブランチの観点からPRを編集することはできないため(下記を参照)、最も簡単な方法は次のとおりです。

  • 現在のブランチの上にローカルの新しいブランチを作成する
  • その新しいブランチをプッシュする
  • 適切な目的地で新しいPRを作成します。
  • 前のPRを閉じる
  • 新しいものからの「古い」プルリクエストを参照します。例えば。Supersedes #123リベラによる以下のコメント)

(元の回答、PRの作成時にのみ有効)

ブランチの範囲と宛先リポジトリの変更」(PRページの上部にあるボタンをクリックする)のように、別のベースブランチを試して選択することもできますEdit

https://github-images.s3.amazonaws.com/help/pull_requests/pull-request-review-edit-branch.png

ブランチの範囲について考える最も簡単な方法は次のとおりです。

  • ベースブランチは変更内容が適用されるべきだと思うところで、
  • ヘッドブランチはあなたが適用されることを希望するものです。

ベースリポジトリを変更すると、プルリクエストの通知先が変わります。
ベースリポジトリにプッシュできるユーザーは全員、電子メール通知を受け取り、次回サインインしたときにダッシュボードに新しいプルリクエストが表示されます。

元のメンテナ(所有者)が望むブランチをベースブランチとして選択した場合、PRはブランチ(変更なし)から新しいベースブランチにマージする必要があります。


@Moriarty進行中のPRはありませんが、PRの作成者として、PRが送信されると[編集]ボタンが表示されませんか?
VonC 2014年

3
私はそうしますが、それは私がPR名を変更することだけを可能にします。送信時にPRマージをブランチに直接変更できないと思います。代替案があるかどうか疑問に思っています(PRを別のブランチにマージする方法)。
Moriarty 14年

2
PRのターゲットブランチを変更できるようにする機能リクエストが開かれています:github.com/isaacs/github/issues/18
Jason

1
新しいものからの「古い」プルリクエストを参照することもお勧めです(たとえば、置き換え#123)。
Rivera

1
@Shimmy Web GUIからではなく、そうは思いません。
VonC

6

ブランチが(まだ)リモートで利用できる場合、新しいブランチをローカルで作成する必要はありません。

  • ドロップダウンメニューから直接、または「#ブランチ」(https://github.com/account/project/branches)からブランチ(送信する変更が含まれる)を選択します。

  • 「新しいプルリクエスト」をクリックします。これにより、新しいベース(ターゲット)ブランチを選択できます。

これがGithubの新しいインターフェースのスクリーンショットです。 ここに画像の説明を入力してください

私はUX任意のフォーク/ ブランチに対してブランチのPRを送信できます---以前にブランチのPRを送信したかどうかは関係ありませんUX


1
緑色の[新しいプルリクエスト]ボタンが右上隅のPRリストWebページに移動します。
Golden Thumb

「移動」の意味がわかりませんが、どちらの場所にも緑色のボタン「新しいプルリクエスト」があります。
mkcor 2016年

4

これでできるようになりました:https : //github.com/blog/2224-change-the-base-branch-of-a-pull-request

「オープンプルリクエストのベースブランチを変更できるようになりました。プルリクエストを作成したら、プルリクエストの変更が別のブランチと比較されるようにベースブランチを変更できます。正しいベースブランチで新しいプルリクエストを開くのではなく、元のプルリクエストがあれば、貴重な作業と議論を続けることができます。」


2

ギブハブのドキュメントリンクに記載されているように、新しいプルリクエストを作成する必要があります。

  1. 最初に選択 New Pull request
  2. compare page、左側でtarget branchプッシュするを選択し、右側でを選択しbranch you already pushedます。
  3. 新しいの詳細を更新しますPR
  4. を作成します PR

-4

とても簡単です。ベースブランチを変更するPRをクリックするだけです。Webページの下部にある[プルリクエストを閉じる]ボタンを見つけます。これで、通常どおり新しいPRを再作成できます。今回は正しいベースブランチを選択してください。


なぜこれが反対票であるのかわかりません。これは私にとってはまったく問題なく動作しました。
Wilt

3
私は反対票を投じなかった。しかし、私はこの回答が既存の古い回答を繰り返すだけであることがわかります(品質は低下します)。
Lars Blumberg 2016年

@LarsBlumberg注意深く読むと、重複している可能性がありますが、繰り返しではないことがわかります。私にとって、nステップではなく(n -1)ステップで問題を解決できる場合は、共有する価値があります:-)
Golden Thumb

2
(n-1)ステップで、古いPRを閉じて新しいPRで参照するなどの有用なステップを省略した場合、既存の回答からステップのサブセットを繰り返すことには意味がありません。特に、適切な書式設定がないために少ないステップのリストを読むのが難しい場合。
Lars Blumberg 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.