How to leverage git branches for clean and readable commit history.
Text of Pragmatic Git workflow
1. Pimp my GitPragmatic Git workflow
2. Pulling the right way Building a house 3. Multiple teamsOne team builds the roof Another seeds grass on the yard 4. Conflictless cooperationOh, really?git pull 5. Git problem #721pull does merge by default (rebase is an option) 6. Merging smarter git pull --rebase 7. Merge 8. Rebase 9. After rebase 10. CommandmentThou shalt pull with --rebase option. 11. Merging even smarter$ sudo gem install git-up 12. Building a house 13. My workflowCreate a private branchand do some work. 14. In the meantimeSomeone else started working on the project 15. Risk of conflict 16. Rebase before mergeOn feature branch, rebase with master branchgit rebase master 17. Resolve conflict Resolve conflict on your local branchgit add .git rebase --continue 18. Merge with squashgit checkout mastergit merge feature --squashgit commit 19. Why? Clean historyEach work item == one commitDo not trash log with checkpoint commitsConflicts resolved earlyMissing (unnecessary) granularity