what is the git flow ? code example

Example 1: git flow release

#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

Example 2: git flow

$ 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