Selection 098

Git Flow

Git flow is an efficient merge-based method of branching on large projects with multiple users. Git flow and it's associated command line tools provide high level repository operations.

Installing is easy and you can initialise it into an existing repository.

Installation

macOS

Homebrew 

$ brew install git-flow-avh

Macports

$ port install git-flow-avh

Linux

$ apt-get install git-flow

Windows (Cygwin)

$ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash

 

Initialize Git Flow

git flow init

 

Start, Finish and Publish a Feature

git flow feature start MYFEATURE
git flow feature finish MYFEATURE
git flow feature publish MYFEATURE

Start, publish and track a release

git flow release start RELEASE [BASE]
git flow release publish RELEASE
git flow release track RELEASE

Finish a Release

git flow release finish RELEASE

Then push your tags with 

git push origin --tags

Hotfix

git flow hotfix start VERSION [BASENAME]

git flow hotfix finish VERSION

There is a great cheatsheet by Daniel Kummer available here