Overview
Gitflow is a strict branching model designed around the project release. It assigns very specific roles to different branches and defines how and when they should interact.
Key Branches
- Master/Main: Stores the official release history.
- Develop: Serves as an integration branch for features.
- Feature Branches: Used for developing new features.
- Release Branches: Used to prepare for a new production release.
- Hotfix Branches: Used to quickly patch production releases.
Pros and Cons
- Pros: Great for managing complex releases and multiple versions in production.
- Cons: Can be overly complex for small teams or projects that deploy frequently.