git flow

Shell
#basic
git flow init
#with default to not be promted
git flow init -d
#with force to re-run init and edit data
git flow init -f#Starting a release create a branch release/release_version
#tipically version are Semantic Versioning standard X.Y.Z
git flow release start release_version
#Finish a release, remember to update your application version!
git flow release finish release_version
#Remember to push all branches and tags
git push --all --follow-tags#Open a feature branch named: feature/feature_name
git flow feature start feature_name
#Close a feature branch
git flow feature finish feature_name
#Remember to push all branches
git push --allgit flow release finish '0.1.0'$ git flow init

Initialized empty Git repository in ~/project/.git/
No branches exist yet. Base branches must be created now.
Branch name for production releases: [master]
Branch name for "next release" development: [develop]
How to name your supporting branch prefixes?
Feature branches? [feature/]
Release branches? [release/]
Hotfix branches? [hotfix/]
Support branches? [support/]
Version tag prefix? []

$ git branch

* develop
 master$ git checkout -b myfeature develop
Switched to a new branch "myfeature"

Source

Also in Shell: