私たちは展開されたシステムで開発しているので、分岐をより有効に活用しようとしています。最近まで、ほぼすべてがトランクにチェックインされ、テスト/ステージングに展開され、次に本番環境に展開されていました。これは、"テスト" 期間中は細心の注意を払う必要があることを意味します。ほとんどテストを行わないまま、不要な変更がサーバーに送信されることがあります。
私の考えでは、「マイナー」パッチはトランクに直行し、主要な機能は機能ブランチになり、完了時にトランクに再統合され、直前にマージできるサーバーの状態に常に一致する「プロダクション」ブランチになるというのが最善の方法です。展開中。
ここで提供される主な利点は、本番環境にロールアウトする変更を選択できることです。必要に応じて、単一のチェックインまたはブランチを取得して、他のすべてのブランチを関与させることなく本番環境に送信できます。
一方、ブランチをトランクと頻繁に統合するのが最善のようです-変更が蓄積されないようにプルアップして、厄介なマージを行います。
したがって、これらの 2 つのパターンは、重要な機能を持ち込むためにブランチを Production とマージしたいが、そのブランチは、出荷したくないトランクからの変更を既に "プル" しているというケースにつながる可能性があります。
SVNはこれを処理できますか? 数週間ごとにデプロイされるコードを開発しているグループに有効な、本当に優れたプラクティスはありますか?