git config --global branch.autosetuprebase always
Then "git pull"
Without doing the config change, you can just do a "git pull --rebase"
Your "git push origin master" is typically what I spell "git push" (recommend "git config --global push.default tracking" just to make sure you're pushing the same stuff that's tracked automatically).
So, my every day workflow (rebasing upstream and building on top of stuff) looks like this:
git pull
[edit a bunch of files]
git add -p
git commit
git push
My mouth is minty fresh.Except when you regularly need to create new working copies on varying git versions where those config details tend to differ in subtle ways. Too often did I have to wrestle problems on someones MacBook simply because the config or command syntax changed slightly between a few git revisions.
I'd go as far as to say that local (i.e. not repository-wide) config settings that change the semantics of how the commands work are deeply harmful in a team-setting.
It's yet another layer of complexity that you have to keep in mind when debugging problems.
Sure, it can save typing when everyone involved uses the same git version and has a good understanding of git. Unfortunately neither has been the case on most projects I've been involved with.
But for example, this is my snippet for merging my current branch into master and pushing that to origin (hopefully merging/cleaning up in between as appropiate):
I didn't originally come up with all that, mind you. It's pulled from a workflow tutorial and you'll find basically the same procedure recommended in every tutorial (keywords: feature branches and "don't work directly on master").And yes, I paste that multiple times per day and still throw up a little bit inside my mouth every time.