cause of a problem ▸ reproduces the problem ▸ detects cauze ▸ separates causing change ✓ commit history needs to be clean, 1 commit = 1 logical aspect BUG HUNTER
a local topical branch, single change $ git checkout -b 02-rebase-workflow $ git commit -m “added explanatory paragraph” # do NOT push to remote! # other things are published on master $ git checkout master $ git commit -m “added series notice” $ git push origin master Work on topic branch
the topical branch single change on the master branch $ git fetch origin $ git rebase origin/master $ git checkout master $ git rebase 02-rebase-workflow First, rewinding head to replay your work on top of it... Fast-forwarded master to 02-rebase-workflow. $ git push Counting objects: 3, done. Delta compression using up to 8 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (3/3), 337 bytes | 0 bytes/s, done. Total 3 (delta 1), reused 0 (delta 0) To [email protected]:tekkie/git-rebase-workflow.git 5817048..c63367b master -> master Rebase
GitHub Flow ✓ topic branches are rebased from master frequently during their lifetime ✓ pull requests integrated back with explicit merge Atlassian Simple Git Workflow