branch-1
(分岐したマスター(メジャーアップデート))とbranch-2
(分岐したマスター(マイナーアップデート))があるとします。
たとえば、別のブランチを作成する必要があるときに行う最善のアプローチは何ですか? branch-3
そして、PRがまだ保留されている間に両方のブランチから作業を続ける必要がありますか?
そして、両方のPRが承認されたらどうしますか?
警告:あなたの当面の質問に対して本当に良い答えはありません。本当の問題は、リスクと潜在的なやり直しを引き起こしている組織/チームのボトルネックがあることです。
チームの知識を活用する:組織でこれに対処するためのローカル戦略はありますか?他のどの枝が2番目に作成され、著者はこの問題にどのように対処しましたか?
最後に、しかし最も重要なことは、あなたのチームに話しかけてください-他の人々がリポジトリにPRし、承認者にこれが問題であることを知らせることです。優れたプロジェクトマネージャーがいる場合は、リソースを解放して遅延/やり直しを軽減できます。
使い捨てブランチから作業する必要があります。 2つのブランチをマージするだけです。この使い捨てブランチでいくつかのコミットを続けます。両方のPRがマスターである場合、マスターからの新しいブランチでコミットを選択します。
以下を使用して新しいブランチを作成します。
git checkout -b branch-3 branch-1
git merge branch-2
これにより、保留中の両方のブランチからの変更を含むブランチが作成されます。それ以降は、2つのことが起こります。
PRのマージを含むmaster
からの変更を取得する必要があります。 git merge master
からbranch-3
これらの変更を取得します。
保留中のPRの一方または両方に変更を加えるように求められます。その場合は、PRのブランチに変更を加えてから、git merge branch-1
からbranch-3
これらの変更を取得します。
他のはるかに可能性の低いシナリオがあります(リポジトリを制御する人々から変更を行うように依頼されたと仮定した場合)。一方のPRが完全に拒否され、もう一方はmaster
に受け入れられます。そのような場合は、おそらくgit rebase --onto master branch-2
、そして大きな混乱に対処します。