- Always make sure you’re working in a Git repo
- Make sure all your work is committed
- Add Sage as a remote
git remote add upstream git@github.com:roots/sage.git
- Pull upstream changes
git fetch upstream
- Rebase upstream changes into yours
git rebase upstream/master
- Manually fix all conflicts (read: https://help.github.com/articles/resolving-merge-conflicts-after-a-git-rebase/ and http://tedfelix.com/software/git-conflict-resolution.html)
Note: if you just cloned Sage direct you can skip #3-5 and do these steps:
git fetch
git rebase origin/master
If you mess up the rebase process you can always reset your repo to the last good state/commit.