GitFlow is one of several branching models. Consider what fits your team:
| Strategy | Best for |
|---|---|
| GitFlow | Scheduled releases, multiple versions in production |
| GitHub Flow | Continuous deployment, single production branch |
| Trunk-Based Development | Small frequent merges, feature flags |
git checkout main
git pull
git describe --tags
git checkout #your feature branch
git flow release start <TAG+1>
git flow release publish <TAG+1> # pushes a release branch to origin
git flow release finish -m "v<TAG+1>" -Fp <TAG+1>
# should automatically merge to main and back to develop and then checks out develop
# make sure changes and tags are pushed
git status
git describe --tags