GitFlow
Built-in support for the GitFlow branching model.
What is GitFlow?
GitFlow is a branching strategy with:
- main - Production-ready code
- develop - Integration branch
- feature/ - New features
- release/ - Release preparation
- hotfix/ - Production fixes
main: ──●─────────────────●────●──
│ │ │
release: │ ●─────┘ │
│ │ │
develop: ──●───●───●───●──────────●──
│ │
feature: ●───┘Initialize GitFlow
- Go to Repository > GitFlow
- Click Initialize
- Confirm branch names (or customize)
Features
Start Feature
- Click New Feature
- Enter feature name
- Creates
feature/your-featurefromdevelop
Finish Feature
- Click Finish Feature
- Merges into
develop - Optionally deletes feature branch
Releases
Start Release
- Click New Release
- Enter version number
- Creates
release/v1.0.0fromdevelop
Finish Release
- Click Finish Release
- Merges into
mainanddevelop - Creates version tag
Hotfixes
Start Hotfix
- Click New Hotfix
- Enter hotfix name
- Creates
hotfix/fix-namefrommain
Finish Hotfix
- Click Finish Hotfix
- Merges into
mainanddevelop - Creates patch version tag
GitFlow Without Extension
If git-flow extension isn't installed, you can use standard Git:
bash
# Start feature
git checkout develop
git checkout -b feature/my-feature
# Finish feature
git checkout develop
git merge --no-ff feature/my-feature
git branch -d feature/my-feature