gitflow is a branching model for git created by Vincent Driessen. It forms an elegant mental model that is easy to comprehend and allows team members to develop a shared understanding of branching and releasing processes.
Detailed information can be found on A successful git branching model.
The Git Tower team wrote another detailed description on how to use gitflow with a GUI tool.
Basic usage and effect of git-flow operations on the command line:
https://danielkummer.github.io/git-flow-cheatsheet/
In a nutshell:
master
holds only releases (and bugfixes)develop
holds the latest version under development
feature/xxx
develop
after the feature is finished and testedCertain git flow specifics can be defined in the git configuration:
git config --global gitflow.branch.master "main" git config --global gitflow.branch.develop "develop" git config --global gitflow.prefix.feature "feature/" git config --global gitflow.prefix.release "release/" git config --global gitflow.prefix.hotfix "hotfix/" git config --global gitflow.prefix.support "support/" git config --global gitflow.prefix.versiontag ""
See git flow's wiki page for more information.