How we use git at Shopify - Shopify
Aug 24, 2011

Summary
This post details Shopify's Git workflow, emphasizing forking repositories, using feature branches, and setting up remotes ('origin', 'mainline') and branches ('production', 'staging', 'master'). It outlines a day-to-day usage pattern involving checking out master, creating feature branches, rebasing to keep branches up-to-date with mainline, pushing to staging for testing, squashing commits before merging into master, and finally pushing to production. It also provides additional git tips like unstaging commits, resetting history, interactive rebasing, amending commits, reverting commits, and using git bisect.