Como mencionei em um dos protocolos anteriores, git pull –rebase é um caminho a percorrer (na maioria dos casos).
Mas e se você estiver cansado de escrever –rebase todas as vezes?
Torne-o padrão.
Para sua configuração de repo, basta definir
git config branch.autosetuprebase always
e cada novo branch será configurado para usar rebase quando você digitar git pull.
E os ramos existentes? Digite para cada um deles
git config branch.YOUR_BRANCH_NAME.rebase true
Se você quiser usar mesclar em vez de rebase para um pull em particular, você pode sempre digitar
git pull --no-rebase