The git-flow way
What you will not get
how to use git
how to use github
why git
etc…
What you will get
work with git-flow
new way to think in git using
We don’t need git-flow
git is enough
Only one developer
commit
changed little
changed release version 1.0.0
start create awesome app
master
looks fine
Two developer
master
bug fix: sometimes crash
feature: whole new ui
looks fine
In the real world
picture from: http://www.ruanyifeng.com/blog/2012/07/git.html
WTF
What is git-flow
a set of git extensions
a simple git branching
model
merge based solution
picture from: http://nvie.com/posts/a-successful-git-branching-model/
Basic element
master must always be deployable
all changes made through feature branches (pr +
merge)
rebase to avoid/resolve conflicts; merge into master
Branches in git-flow
master: must always be deployable
develop: latest delivered development changes for
the next release
feature/xxx: new features
release/xxx: preparation of new production release
hotfix-xxx: critical bug fix in a production version
let’s get start
New feature
develop
feature/new-list
code review here
feature/discover
merge?
New feature
develop
feature/new-list
code review here
feature/discover
new skill get
Many features
picture from: http://www.ruanyifeng.com/blog/2012/07/git.html
ARE YOU
F**KING
KIDDINE ME
New feature
develop
feature/new-list
code review here
feature/discover
merge?
New feature
develop
feature/new-list
code review here
feature/discover
rebase
move to next
New release
develop
release/1.4.0
master
tag: 1.2.0 tag: 1.3.0 tag: 1.4.0
so easy
move to next
Hotfix
develop
hotfix/crash
master
tag: 1.2.0 tag: 1.2.1
so easy
Wanna know more
http://nvie.com/posts/a-successful-git-branching-
model/
http://danielkummer.github.io/git-flow-cheatsheet/
index.html
https://www.atlassian.com/git/tutorials/comparing-
workflows
https://gist.github.com/jbenet/ee6c9ac48068889b0912
Thanks

The gitflow way