web-dev-qa-db-ja.com

プルリクエストのベースブランチを変更するには?

GitHubのプロジェクトで特定のリモートブランチへのプルリクエストを作成しました。しばらくして、リモートブランチが削除されました。

別のブランチ(具体的にはmaster)を指すようにプル要求を変更するにはどうすればよいですか?

更新:マイケルが以下に述べているように、 これは現在可能です

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

クリック Edit プルリクエストのタイトルのボタンをクリックして、ベースブランチセレクターを表示します。

An animated example of how to change a pull request's base branch.


古い答え

できません。新しいプルリクエストを行うだけです。

75
Amber

文書化されていませんが、GitHub REST APIを使用してこれを行うことができます。

APIの使用法は この回答 で説明されていますが、基本的にRESTリクエストをこのように発行できます:

$ curl --user "tom" \
       --request PATCH \
       --data '{"issue": "15", "head": "tom:new-branch", "base": "master"}' \
       https://api.github.com/repos/fred/fabproj/pulls

これにより、fred/fabprojリポジトリのnew-branchブランチでtom/fabprojブランチを使用するように、問題15で具体化されたプルリクエストが変更されます。

編集:注:コメントによると、上記はアタッチ(new 既存の課題へのプルリクエスト

36
Tom

2016年8月15日の時点で、これは Github を介してネイティブに可能になりました。

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

18

ターゲットブランチを変更できます。 PR内のターゲットブランチの名前を編集できないことは事実です。ただし、ブランチの名前を別の名前に変更し、ターゲットブランチの名前をすでにPRにあるものに変更するのがコツです。

例:私のPRは「dev-4.9」のような名前を持っています。 「qa-4.9」という名前の別のブランチがあります。私が望むのは、「qa-4.9」がPRターゲットブランチであるべきだということです。手順:1)ブランチの名前を「dev-4.9」から別の「original-dev-4.9」に変更します

git checkout dev-4.9
git branch -w original-dev-4.9
git Push Origin original-dev-4.9

2)ブランチの名前を「qa-4.9」から「dev-4.9」に変更します。

git checkout qa-4.9
git branch -w dev-4.9
git Push Origin dev-4.9 -f (force Push to write entire branch to reflect dev-4.9)

3)PR urlを更新し、そこに反映されたqa-4.9のコミットを確認します。

2
Sateesh

削除されたブランチへのPRに関連するすべてのコメントを失う代わりに:

  1. ブランチをマージするブランチと同じ名前と同じコンテンツでローカルに再度作成します。
  2. そのブランチをプッシュして、リモートブランチを再作成します。その後
  3. ブランチへのPRを再度開きます。

たとえば、branch1へのPRがあり、これは削除されます。マスターにマージして、既存のPRのコメントを保持します。

  1. git checkout master
  2. git pull
  3. git checkout -b branch1
  4. git Push
  5. branch1へのPRを再開します
  6. branch1にマージすると、masterにマージします。

これは少しハックですが、多くのコメントを破壊するよりもはるかに優れています。

1
William Zeller

Githubは現在これをサポートしています。 PRの右端にある[編集]ボタン。

0
julian joseph