git フロー分岐モデル (この投稿で説明されているように)ではrelease
、 から分岐して分岐を作成する必要があると述べていますdevelop
。
これはうまく機能しますが、私が知る限り、意図しない変更がrelease
ブランチに加えられる可能性もあります。フィーチャ A、B、および C に取り組んでいて、それらを にマージするとしますdevelop
。数日後、機能 A と B は安定してリリースできるようになりましたが、機能 C はまだ遅れています。機能 C が原因で機能 A と B が遅れることは望ましくありませんdevelop
。他の開発者が機能 C に依存しているため、機能 C を元に戻すことはできません。
これに対する解決策として、機能 A と C を分岐してからマージすることを考えましたrelease
。master
(私はまだ git に 100% 精通しているわけではないので、以下の記述の一部は完全に間違っている可能性があります。明確にしてください。)
これの問題は、機能 A と B が機能 C と一緒に開発中であり、開発者が機能ブランチを最新の状態に維持していたためdevelop
、C のコードの一部が機能ブランチ A と B になってしまったことです。これらのブランチをマージするとブランチに移動するrelease
と、そこに C のコードが含まれる可能性があります。私はまだリベースのアイデアに慣れていますが、マージの代わりにリベースを使用しようとすると、これらすべての競合が発生します。おそらく、コミットなどをチェリーピックすることもできますが、リリースブランチにコードを配置するたびにこれを行うには複雑すぎるようです。
これを達成する簡単な方法があれば教えていただけますか?