web-dev-qa-db-ja.com

プルリクエスト中にブランチの名前を変更する

Githubでは、プルリクエストを作成して機能をプロジェクトに追加できます。貢献はブランチ上で行われる必要があり、リクエストが受け入れられると、プロジェクトのマスターブランチ(または類似のブランチ)にマージされます。

今、Githubでプルリクエストを送信しました。私の貢献はpatch-1というブランチにあります。ブランチの名前をローカルで変更できます

git branch -m patch-1 newname

また、原則として this answer に記載されている手順に従って、Githubの分岐レポジトリの名前を変更することもできます。これは実際には古いブランチ、私の場合はpatch-1を削除し、別の名前newnameで再プッシュすることで行われます。

プルリクエストを構成する場合、Githubの分岐リポジトリのブランチpatch-1の名前を変更することはできますか?または、プルリクエストの管理に問題が発生しますか?

ブランチがプルリクエストである場合、Githubの分岐リポジトリのブランチの名前を変更する方法はありますか?

72
Michele

あなたが提供したリンクが示すように、gitでリモートブランチの「名前を変更する」ことは、実際にはブランチを削除し、その後、同じコミットハッシュで新しい名前を持つ新しいブランチをプッシュすることです。ブランチパッチ1のプルリクエストを開いている場合、そのブランチを削除すると、プルリクエストは閉じられます。

したがって、ブランチを削除してプルリクエストを削除せずに、プルリクエストを開いた状態でブランチの名前を変更することはできません。ただし、それを行うこと、新しいブランチを新しい名前でプッシュすること、および新しいプル要求を作成することを妨げるものは何もありません。

89
arbylee

短い答え:

いや

代替アプローチ:

  1. 新しい(名前が変更された)ブランチで新しいPRを開く
  2. 新しいPRを参照している古いPRを閉じます(例:#new_pr_idを優先して閉じました)
  3. 新しいPRの説明を変更します(例:#old_pr_idに優先)
  4. (オプション)古いPRの関連する議論についてコメントする

注意:

ビルドシステムにはチケットIDで終わるブランチの名前が必要なため、リモートブランチの名前(PRを構成する)を変更する必要がありました。ただし、PRは公式のチケット作成(仕様から)の前に開かれ、貴重な議論が含まれていました。説明したアプローチは、ビルドシステムを機能させる唯一の方法であり、情報を失うこともありません(ただし、追跡には追加の手順がありました)。

19
Slobodan Ilic