私が取り組んでいる Git リポジトリには 2 つのメイン ブランチalpha
とがありbeta
、どちらも類似しており、積極的に取り組んでいます。機能に取り組んでいるときは、両方のブランチにコミットする必要があります。ブランチの内容はほとんど同じですが、 と の両方alpha
に共通の祖先はありませんbeta
。これまでのところ、それはすべて私の会社によって義務付けられています。それについて私ができることはあまりありません。
これらのブランチの 1 つからフィーチャー ブランチに対して行ったアクションを、他のブランチのフィーチャー ブランチに複製する方法に興味があります。
仕様
現在、私のワークフローは機能ブランチfeatA
offに取り組み、定期的にコミットを別の機能ブランチoffalpha
にチェリーピックします。これにより、以下のようなコミット ツリーが作成されます。featA
featB
beta
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
か?