GitHubのプロジェクトで特定のリモートブランチへのプルリクエストを作成しました。しばらくして、リモートブランチが削除されました。
別のブランチ(具体的にはmaster
)を指すようにプル要求を変更するにはどうすればよいですか?
これで、オープンプルリクエストのベースブランチを変更できます。プルリクエストを作成した後、プルリクエストの変更が別のブランチと比較されるように、ベースブランチを変更できます。正しいベースブランチを使用して新しいプルリクエストを開くのではなく、元のプルリクエストのベースブランチを変更することで、貴重な作業と議論を続けることができます。
クリック Edit プルリクエストのタイトルのボタンをクリックして、ベースブランチセレクターを表示します。
できません。新しいプルリクエストを行うだけです。
文書化されていませんが、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 既存の課題へのプルリクエスト。
2016年8月15日の時点で、これは Github を介してネイティブに可能になりました。
これで、オープンプルリクエストのベースブランチを変更できます。プルリクエストを作成した後、プルリクエストの変更が別のブランチと比較されるように、ベースブランチを変更できます。正しいベースブランチを使用して新しいプルリクエストを開くのではなく、元のプルリクエストのベースブランチを変更することで、貴重な作業と議論を続けることができます。
ターゲットブランチを変更できます。 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のコミットを確認します。
削除されたブランチへのPRに関連するすべてのコメントを失う代わりに:
たとえば、branch1へのPRがあり、これは削除されます。マスターにマージして、既存のPRのコメントを保持します。
これは少しハックですが、多くのコメントを破壊するよりもはるかに優れています。
Githubは現在これをサポートしています。 PRの右端にある[編集]ボタン。