git pull do controle remoto, mas nenhuma referência foi buscada?


69

Eu tenho um espelho git no meu disco e quando eu quero atualizar meu repositório com git pull, isso me dá uma mensagem de erro:

 Your configuration specifies to merge with the ref '3.5/master' from the remote, but no such ref was fetched.

Também me dá:

  1ce6dac..a5ab7de  3.4/bfq    -> origin/3.4/bfq
  fa52ab1..f5d387e  3.4/master -> origin/3.4/master
  398cc33..1c3000a  3.4/upstream-updates -> origin/3.4/upstream-updates
  d01630e..6b612f7  3.7/master -> origin/3.7/master
  491e78a..f49f47f  3.7/misc   -> origin/3.7/misc
  5b7be63..356d8c6  3.7/upstream-updates -> origin/3.7/upstream-updates
  636753a..027c1f3  3.8/master -> origin/3.8/master
  b8e524c..cfcf7b5  3.8/misc   -> origin/3.8/misc
  * [neuer Zweig]     3.8/upstream-updates -> origin/3.8/upstream-updates

Quando executo make menuconfig, ele me fornece a versão 3.5.7 do Linux? O que isto significa? Como posso atualizar meu repo?

Respostas:


58

Verifique a ramificação em que você está ( git branch), verifique a configuração para essa ramificação (in .../.git/config), você provavelmente está na ramificação errada ou sua configuração indica para mesclar com uma ramificação remota (agora?) Inexistente.


22
Para remover referências de ramificação remotas inexistentes no seu repositório local, use git remote prune origin.
Jevon

7
Outra maneira de "verificar a configuração" para um ramo é: git branch -vv. Isso exibe o "remoto" associado à ramificação.
offby1

28

No meu caso, minha filial local não foi configurada para rastrear a filial remota. Eu tive que executar manualmente:

git pull origin remotebranch

Da próxima vez que você pressionar, faça "git push -u" para configurar o rastreamento correto.


O mesmo vale para quando você git init --bare
clona

10

No meu caso, minha filial local e filial remota tinham letras maiúsculas diferentes.

Para resolver isso, excluí minha ramificação local $ git branch -d branch-namee depois verifiquei novamente a ramificação remota usando $ git fetche $ git checkout Branch-name.


É limpo, simples e funcionando bem. Obrigado.
precisa

Eu recebi esse erro na linha de cmd. Tentei o SmartGit com uma rebase e superei.
usar o seguinte

Faça isso uma vez, em vez de apagar ramo e re-checkout ramo cada vez: capitalização correta em sua /.git/config
wz366

2

É possível que outra pessoa da sua equipe simplesmente mesclou sua ramificação e a exclua (geralmente feita após a mesclagem). Você pode fazer a ramificação no repositório e tentar novamente. Isso acontece comigo na minha empresa de vez em quando (o padrão de bitbucket é mesclar e excluir).


1

No meu caso (a advertência usual), eu já tinha uma ramificação com o nome apropriado, então só precisei adicionar remote = originao meu .git / config:

[branch "sparql"]
    merge = refs/heads/sparql
    remote = origin # <-- added


1

Eu tive o mesmo erro ao ficar sem espaço em disco. Depois de redimensionar o volume, o erro desapareceu.


0

Eu peguei esse problema devido a um problema de revestimento que se manifesta no Windows.

Minha configuração do Git se parecia com:

[branch "Bug/some_branch"]
  remote = origin
  merge = refs/heads/Bug/some_branch

No servidor, "Bug" e "bug" existiam como parte de várias ramificações. O Windows pode conter apenas um deles por vez, devido ao mapeamento do sistema de arquivos. Portanto, atualizei manualmente minha configuração para corresponder à versão do servidor, que realmente resolveu o problema de recebimento:

[branch "Bug/some_branch"]
  remote = origin
  merge = refs/heads/bug/some_branch

0

Se o ramo se foi,

$ git status
On branch blah_gone_now
Your branch is based on 'origin/1234/blah_gone_now', but the upstream is gone.
  (use "git branch --unset-upstream" to fixup)

$ git branch --unset-upstream

Em seguida, faça o checkout master ou o que você precisar

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.