Como conseguir que o “git pull” funcione como esperado novamente

2

Estou usando msysgit (Git para Windows). Costumava ser que executar o "git pull" automaticamente "git fetch", e depois rebase minhas alterações em cada branch com o novo HEAD do upstream. Agora parece "git pull" geralmente só me dá erros sobre como eu não tenho "branch. *. Merge" definido no meu arquivo de configuração. Quando isso funcionava antes, eu não tinha feito nada de especial no meu arquivo de configuração. É assim que eu crio meus ramos locais? Eu costumo fazer isso:

git checkout -b localbranch origin/remotebranch

Essa é a melhor maneira de criar ramificações de modo que "git pull" as mescle automaticamente? (porque não parece estar funcionando para mim)

    
por Andrew Arnott 31.08.2009 / 16:45

2 respostas

5

Você precisa de algo semelhante ao seguinte no seu arquivo de configuração:

[branch "master"]
    remote = origin
    merge = refs/heads/master

Se você precisar adicionar essas informações para uma ramificação existente, use o comando:

git branch --set-upstream mybranch origin/remotebranch

Se você estiver criando uma nova ramificação, poderá garantir que a ramificação seja uma ramificação de rastreamento remoto usando um dos comandos:

git branch --track mybranch origin/remotebranch
git checkout --track -b mybranch origin/remotebranch

No entanto, --track deve ser o padrão. Se não estiver, a configuração branch.autosetupmerge pode ser definida como falsa. Para redefini-lo, você pode defini-lo como verdadeiro ou desfeito:

git config --global branch.autosetupmerge true
git config --global --unset branch.autosetupmerge
    
por 31.08.2009 / 16:50
0

Tenha cuidado com o acima. Eu só estou familiarizado com o git no Linux, então os detalhes podem variar.

"git fetch" obtém as alterações, não faz mais nada "git pull" faz um "git fetch" e depois um "git merge" (isto é, funde as mudanças remotas no material atual) "git pull -r" faz um "git fetch" e, em seguida, um "git rebase" (ou seja, atualiza a ponta do branch onde você está para o remoto e, em seguida, coloca novamente as alterações no topo)

Minha ajuda para "git pull" (versão 1.8.1-290) me faz ver a ramificação. < name > .rebase e branch.autosetuprebase em "git config" para configurá-lo automaticamente.

    
por 14.01.2013 / 15:48

Tags