Skip to main content

git flow

git flow is a branching strategy

the idea is you have different branches for different stages of development

some branches are long lived, some are short lived

it was devised by a cleverer person

long lived branches

long lived branches stick around

at a minimum

master and develop

short lived branches

created for a specific purpose

merged into a long lived branch

deleted after the purpose is served

common examples are feature or fix branches

feat/my-feature

fix/my-fix

working branches

develop default working branch

master should always be stable

feature/fix workflow

(develop)$ git checkout -b feat/my-new-feature

make changes

(feat/my-new-feature)$ git add my-new-feature.js

(feat/my-new-feature)$ git commit -m "added new feature"

move back to develop

(feat/my-new-feature)$ git checkout develop

merge feature -> develop

(develop)$ merge feat/my-new-feature

it looks like this

master
develop
release 1
release 2
feature 1
feature 2
feature 3


uh oh, i done screwed up, help