Javier Negre @ tnwlabs
master $ git checkout -b dev
# Commiting changes
# Hotfixes in master
# Initial scheme
master $ git merge dev
master $ git merge dev
# Initial scheme
dev $ git rebase master
dev $ git rebase master
master $ git merge dev
master $ git merge dev
Small features, developed within few days/weeks
Linear commit history
Cleaner history, without merge commits
Easier to debug ( $ git bisect )
* $ git fetch
l/master $ git push origin master x
l/master $ git rebase origin/master
l/master $ git push origin master
l/master $ git pull origin master; $ git checkout -b dev
l/dev $ git push origin dev
l/master $ git pull origin master
l/dev $ git rebase master
l/dev $ git push origin dev x
l/dev $ git push -f origin dev
Forcing a push is dangerous! You might lose code by:
During panic mode:
Branches are cheap!
More at negre.co#slides