私が取り組んでいる Git リポジトリには 2 つのメイン ブランチalphaとがありbeta、どちらも類似しており、積極的に取り組んでいます。機能に取り組んでいるときは、両方のブランチにコミットする必要があります。ブランチの内容はほとんど同じですが、 と の両方alphaに共通の祖先はありませんbeta。これまでのところ、それはすべて私の会社によって義務付けられています。それについて私ができることはあまりありません。
これらのブランチの 1 つからフィーチャー ブランチに対して行ったアクションを、他のブランチのフィーチャー ブランチに複製する方法に興味があります。
仕様
現在、私のワークフローは機能ブランチfeatAoffに取り組み、定期的にコミットを別の機能ブランチoffalphaにチェリーピックします。これにより、以下のようなコミット ツリーが作成されます。featAfeatBbeta
A---B---C---E---F (featA)
\
D (alpha)
A'--B'--C'--E' (featB)
\
D' (beta)
この時点で、そのブランチへfeatBのコミットをチェックアウトしてチェリーピッキングすることを考えています。F
このプロセスは通常は問題なく機能しますが、かなり労力がかかります。1 つのブランチで行ったことは、他のブランチでも繰り返す必要があります。それを忘れると、バグにつながる不整合が生じる可能性があります。また、(たとえば) コミットBとの間に相関関係が記録されていないためB'、そのようなバグを追跡することは簡単ではありません。
共通の親コミットがなく、レプリケートされるべきではないalphaまたはの 1 つにコミットすることがあるため、あるブランチのコミットを別のブランチにプルするためにbeta使用できるとは思いません。git merge
featAアクションを他のブランチに複製するためにできるワークフローの改善または自動化はありますfeatBか?