現在、開発ブランチとマスターブランチの2つのブランチがあります。
マスターブランチには(理想的には)リリースに対応するタグ付きコミットが入力されます。1つのコミット、1つのリリース、1つのタグ。
開発ブランチは、最新リリースから分岐します。新しい機能を開発し、マスターにマージします。
問題は、これを行うと、マスターブランチに開発ブランチにあるすべてのコミットが含まれるようになることですが、理想的にはマスターブランチをクリーンに保ち、リリースコミットのみを表示する必要があります。
私が見つけた解決策の1つは、開発ブランチの最後のコミットを「チェリーピック」してマスターに配置することです。しかし、これには欠点があるようです。
したがって、マスターブランチでは、各コミットは開発ブランチから厳選され、マスターとマージされることはありません。
1)これは、タグ付きコミットのみでリリースブランチをクリーンに保つための「ベストプラクティス」アプローチでしょうか?「マージ」または他の方法でこの問題を解決する方法はありますか?2)マスターブランチがあまりきれいに見えなくても、開発ブランチをマージすることには利点がありますか?(これはタグで解決できます)。
あなたが望むように見えます
git merge --squash develop
コミットのサブセットのみが必要な場合は、インタラクティブなリベースを使用することもできます
git rebase -i origin/master
次に、プロンプトに従って、目的のコミットをマスターブランチに押しつぶします。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加