2017-08-25 7 views
2

私の小さなグループの開発者は、当社のコア製品のいくつかの異なるバージョンへのインターフェイスを作成し、管理しています。私たちのコア製品の異なるバージョンはほとんど同じですが、バージョンごとに別のブランチにコードを保存する必要があるいくつかの違いがあります。すべてが同じリポジトリにあります。複数のマスタブランチへの変更点

私たちは最近、Gitに切り替える必要があり、すべてのブランチに同じ変更を加える必要がある場合に最適なワークフローを決定しようとしています。これまでは、コミットごとにCherry Pickを使用していました。面倒で、より良い方法が必要です。

V1 Master: ... (A1)--(B1)--(C1)---------(M) 
           \  /
V1 Feature:     (D)----(E) 
            /
V2 Master: ... (A2)--(B2)--(C2) <--? 

をV1マスター上に私たちのV1の機能をマージする前に、我々はV1マスター上にリベース:ここ

は、私たちがやっていることの一例です。 V1フィーチャがV1マスタから分岐しているため、これは簡単で意味があります。しかし、今度は、V2マスタに適用された同じDおよびEコミットが必要です。ブランチは、それらのコミットが競合を起こすべきではないほど似ています。今はちょうどチェリーを個別に、そして順番に選んでください。

私は周りを探索しており、チェリーピックはそれを行う適切な方法ではないので、私はこれについて行く最善の方法を理解できません。

+0

[複数の顧客に対して複数のgitリリースブランチを管理する]の可能な複製(https://stackoverflow.com/questions/39035631/manage-multiple-git-release-branches-for-multiple-customers) – max630

答えて

0

注:スキーマにはリベースは示されていませんが、マージされています。

multiple commits in one commandのチェリーピッキングが有効です。
それは良い解決策では、あなたはチェリーピッキング(masterV1)をduplicates a commitを桜選ぶためであるチェリーピック先のブランチ(masterv2)

にマージされることはありませんされ、そこから枝を提供します。
そしてチェリーピッキングするコミットが(ソースブランチの)以前のコミットに基づいてno functional dependenciesになっていることを確認する必要があります。

関連する問題