Meu problema está relacionado ao erro Fatal Git ao mudar de ramificação .
Eu tento buscar uma ramificação remota com o comando
git checkout -b local-name origin/remote-name
mas recebo esta mensagem de erro:
fatal: git checkout: atualizar caminhos é incompatível com a alternância de ramificações.
Você pretendia fazer checkout 'origin / remote-name' que não pode ser resolvido como confirmação?
Se eu criar manualmente uma ramificação e depois puxar a ramificação remota, ele funcionará, assim como criar um novo clone e verificar a ramificação.
Por que não funciona no repositório com o qual trabalho?
Respostas:
Acredito que isso ocorra quando você estiver tentando efetuar o checkout de uma filial remota da qual seu repositório git local ainda não está ciente. Tentar:
Se a ramificação remota que você deseja efetuar o checkout estiver em "Novas ramificações remotas" e não em "Ramificações remotas rastreadas", será necessário buscá-las primeiro:
Agora deve funcionar:
fonte
git fetch
obterá todas as ramificações de todos os repositórios remotos.git remote update
antes que sua busca o busque. Caso contrário, você receberá mensagens comoDid you intend to checkout 'upstream-repo/master' which can not be resolved as commit?
Por favor, adicione isso à resposta e economize horas nas pessoas lendo as mesmas respostas que funcionam apenas para a origem.Sintaxe alternativa,
fonte
--depth
qualificador do clone original possa estar errado aqui. Eu tive sucesso,git fetch remote_branch_name:local_branch_name
mas todos os outros conselhos falharam.Depois de ter tentado quase tudo o que pude ler neste tópico sem sucesso, deparei-me com este: O ramo remoto não aparece no "git branch -r"
Aconteceu que meu arquivo .git / config estava incorreto. Depois de fazer uma correção simples, todos os galhos apareceram.
Indo de
para
Fez o truque
fonte
Não tenho certeza se isso é útil ou exatamente relevante para sua pergunta, mas se você estiver tentando buscar e efetuar check-out apenas uma única ramificação do repositório remoto, os seguintes comandos git farão o truque:
fonte
nenhuma das opções acima funcionou para mim. Minha situação é um pouco diferente, minha filial remota não está na origem . mas em um repositório diferente.
dica: se você não vir a ramificação remota na saída a seguir,
git branch -v -a
não há como fazer check-out.Trabalho confirmado em 1.7.5.4
fonte
git branch -v -a
: eu tinha um controle remoto configurado incorretamente que diziafetch = +refs/heads/*:refs/remotes/master/*
mesmo que o controle remoto fosse chamadoupstream
.Para mim, o que funcionou foi:
O que puxa todos os árbitros para a sua máquina para todos os ramos no controle remoto. Então eu poderia fazer
e isso funcionou perfeitamente. Semelhante à resposta mais votada, mas um pouco mais simples.
fonte
Suspeito que não haja uma filial remota chamada remote-name, mas que você inadvertidamente criou uma filial local chamada origin / remote-name.
É possível que você em algum momento tenha digitado:
Assim, criando um ramo local chamado origem / nome remoto? Digite este comando:
Você verá:
o que significa que é realmente um ramo local com nome incorreto ou
o que significa que realmente é um ramo remoto.
fonte
Não é muito intuitivo, mas funciona bem para mim ...
ENTÃO, execute o comando git branch --track ...
fonte
Para mim, eu tive um erro de digitação e minha filial remota não existia
Use
git branch -a
para listar ramificações remotasfonte
Seu problema pode estar vinculado a essa outra pergunta do SO "problema de pagamento" ?
ou seja: um problema relacionado a:
git checkout -b [<new_branch>] [<start_point>]
com[<start_point>]
referência ao nome de um commit no qual iniciar a nova ramificação, e'origin/remote-name'
não é isso.(considerando
git branch
que suporta um ponto de partida sendo o nome de uma ramificação remota)Nota: o que o script checkout.sh diz é:
É como se a sintaxe git checkout -b [] [remote_branch_name] estivesse renomeando a ramificação e redefinindo o novo ponto inicial da nova ramificação, que é considerada incompatível.
fonte
Depois de buscar um zilhão de vezes, os controles remotos ainda não apareceram, embora as bolhas estivessem na piscina. Acontece que a opção --tags não deve ser dada
git remote add
por qualquer motivo. Você pode removê-lo manualmente do .git / config para fazer o git fetch criar as referências.fonte