Scott ChaconがPro Gitで説明しているワークフローの恩恵を受けることができます。このワークフローには、常に存在する2つのブランチ、マスターと開発があります。
マスターはプロジェクトの最も安定したバージョンを表し、このブランチから本番環境にのみデプロイします。
開発には進行中の変更が含まれており、必ずしも本番環境で使用できるとは限りません。
開発ブランチから、個々の機能と修正に取り組むトピックブランチを作成します。機能/修正の準備ができたら、それをdeveloperにマージします。その時点で、同僚がマージした他のトピックブランチとどのように相互作用するかをテストできます。開発が安定した状態になったら、それをmasterにマージします。masterから本番環境にデプロイしても、常に安全である必要があります。
スコットは、これらの長期実行ブランチをコードの「サイロ」と表現します。安定性の低いブランチのコードは、テストおよびチームによる一般的な承認の後、最終的にはより安定したと見なされるブランチに「卒業」します。
段階的に、このモデルでのワークフローは次のようになります。
- バグを修正する必要があります。
- 開発ブランチに基づくmyfixというブランチを作成します。
- 修正されるまで、このトピックブランチのバグに取り組みます。
- myfixを開発にマージします。テストを実行します。
- 修正の作業中に同僚が開発にマージした別のトピックブランチhisfixと修正が競合していることを発見しました。
- これらの競合に対処するには、myfixブランチでさらに変更を加えます。
- myfixをマージして、テストを開発および再実行します。
- すべてが正常に動作します。マージはマスターに発展します。
- 安定していることがわかっているため、いつでもマスターから本番環境にデプロイできます。
このワークフローの詳細については、Pro Gitの分岐ワークフローの章をご覧ください。