Git, Illuminated
workflows | ++
svn
start from a straight line
git
accept reality
even if you work on master, it’s a branch of origin/master
How does your story look?
git-svn git-flow github
git-svn
the illusion of straight-line development
Local work is squashed or rebased onto master
or display reality
work that took place in parallel is recorded in parallel
git-svn
rebase to bring in work
git-svn
rebase to bring in work
git-svn
rebase to bring in work
or display reality
or display reality
or display reality
Which branch is for working?
git-flow
git-flow
master is for releases
v2.0
v2.1
git-flow
master is for releases
v2.0
v2.1
git-flow
develop is for progress
v2.0
v2.1
git-flow
features are for work
v2.0
v2.1
feature/ponies
git-flow
releases are for testing
v2.0
v2.1
git-flow
releases are for testing
v2.0
v2.1
git-flow
releases are for testing
v2.0
release/v2.1
git-flow
releases are for testing
v2.0
release/v2.1
git-flow
releases are for testing
v2.0
v2.1
git-flow
hotfixes are for fixing
v2.0
v2.1
v2.0.1
Who decides when it’s ready?
github
github
author != committer
github
author != committer
github
author != committer
github
author != committer
github local
fork clone
github local
push
github local
push
github local
push
github local
push
github local
pushpull request
choose the shape of your history
choose your level of reality
choose tightness of control
Your story is what you make it.