Apenas um esclarecimento (usando a versão 1.7.9.5 do git no ubuntu 12.04):
O Git irá adicionar / remover controles remotos. Essas são instâncias remotas do git com um servidor conectado.
git remote add myremote git://remoteurl
Você pode buscar o repositório git da seguinte maneira:
git fetch myremote
Parece que isso cria um ramo chamado 'myremote', no entanto, o controle remoto para o ramo não é definido automaticamente. Para fazer isso, você deve fazer o seguinte:
Primeiro, verifique se você tem esse problema, ou seja,
git config -l | grep myremote
Você deve ver algo como:
remote.myremote.url=git://remoteurl
remote.myremote.fetch=+refs/heads/*:refs/remotes/myremote/*
branch.myremote.remote=.
branch.myremote.merge=refs/heads/master
Se vir branch.myremote.remote=.
, você deve prosseguir:
git config branch.myremote.remote myremote
git checkout myremote
git pull
Agora você deve estar atualizado com o repositório remoto e seus pull / pushes devem estar vinculados ao controle remoto apropriado. Você pode alternar os controles remotos dessa maneira, por filial . [Nota 1]
De acordo com a documentação oficial de configuração do Git , você pode configurar uma ramificação push padrão (basta pesquisar remote.pushdefault nessa página), no entanto, lembre-se de que isso não afetará repositórios / ramificações que já existem, portanto, isso funcionará apenas para novos repositórios / ramificações. Você deve se lembrar que --global
definirá padrões de repositório específicos do usuário (~ / .gitconfig),--system
definirá padrões de repositório em todo o sistema (/ etc / gitconfig) e nenhum sinalizador definirá opções de configuração para o repositório atual (./.gitconfig).
Também deve ser observado que a opção de configuração push.default é para configurar o comportamento ref-spec , não remoto comportamento .
[1]: git branch --set-upstream myotherremote
normalmente funcionaria aqui, no entanto o git irá reclamar que não definirá um ramo como seu próprio controle remoto se git branch --set-upstream myremote
for usado. No entanto, acredito que esse seja um comportamento incorreto.