Gitflow Workflow is a Git workflow design that was first published and made popular by Vincent Driessen at nvie. The Gitflow Workflow defines a strict branching model designed around the project release. This provides a robust framework for managing larger projects.
The master branch stores the official release history, this is production code.
The develop branch serves as an integration branch for features.
The feature branches use to develop as their parent branch and start coding new features on this branch. When a feature is complete, it gets merged back into develop. Features should never interact directly with master.
The release branch gets merged into master and tagged with a version number. In addition, it should be merged back into develop
The hotfix branches are a lot like release branches and feature branches except they're based on master instead of develop.
$ git branch develop $ git push -u origin develop $ git branch -l develop * master $ git flow init Which branch should be used for bringing forth production releases? - develop - master Branch name for production releases: [master] Which branch should be used for integration of the "next release"? - develop Branch name for "next release" development: [develop] How to name your supporting branch prefixes? Feature branches? [feature/] Bugfix branches? [bugfix/] Release branches? [release/] Hotfix branches? [hotfix/] Support branches? [support/] Version tag prefix?  Hooks and filters directory? [C:/Users/carlmacd/Desktop/Library/.git/hooks]
$ git checkout develop $ git flow feature start feature_git_flow_summary $ git push --set-upstream origin feature/feature_git_flow_summary $ git checkout develop $ git flow feature finish feature_git_flow_summary
$ git flow release start release_1.0 $ git flow release finish 'release_1.0'
$ git flow hotfix start hotfix_branch $ git flow hotfix finish hotfix_branch
Source: atlassian gitflow 🔗
thank you for reading