Git pull com rebase automático

$ git config --global branch.autosetuprebase always

Do manual git

branch.autosetuprebase

Quando um novo branch é criado com git branch ou git checkout que rastreia outro branch, esta variável diz ao git para configurar pull para rebase ao invés de merge (veja “branch. <name> .rebase”). Quando never, rebase nunca é automaticamente definido como true. Quando local, rebase é definido como verdadeiro para ramos rastreados de outros ramos locais. Quando remoto, rebase é definido como verdadeiro para ramos rastreados de ramos de rastreamento remoto. Quando sempre, o rebase será definido como verdadeiro para todos os ramos de rastreamento. Veja “branch.autosetupmerge” para obter detalhes sobre como configurar um branch para rastrear outro branch. O padrão dessa opção é nunca.

Advertência: para que isso funcione, a opção precisa ser definida antes da criação do ramo . Para branches existentes em repositórios existentes que você deseja executar

$ git config branch.YOUR_BRANCH_NAME.rebase true

Use o seguinte oneliner para aplicá-lo a todas as suas filiais:

$ for branch in $(git for-each-ref --format='%(refname)' -- refs/heads/); do git config branch."${branch#refs/heads/}".rebase true; done