As I mentioned in one of the previous protips git pull --rebase is a way to go (for most cases).
But what if you're tired of writing --rebase every single time?
Make it default.
For your repo config just set
git config branch.autosetuprebase always
and every new branch will be set to use rebase when you type git pull.
What about existing branches? Type for each of them
git config branch.YOUR_BRANCH_NAME.rebase true
If you want to use merge instead of rebase for one particular pull you can always type
git pull --no-rebase