Work on your own (working) copy. Change, build, test with no interference fromothers
When your changes are finished and fully tested, commit and push them to the central repository (like publishing them)
Get all committed and pushed changes from others when it is a natural / convenient
→ when you’ve already committed all your changes and want to start working on something new
git pull –r: Creates an easier-to-understand history of commits than regular git pull
Maybe your changes plus those of others don’t work together
→ Always re-build and re-test right after a git pull
Fix any integration errors / bugs right away
-> commit + push & pull –r frequently -- many small integrations easier to debug than one huge one