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.

Related Terms