git pull da remoto ma nessun riferimento è stato recuperato?


69

Ho un mirror git sul mio disco e quando voglio aggiornare il mio repository con git pull mi dà un messaggio di errore:

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

Mi dà anche:

  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 eseguo make menuconfig mi dà Linux versione 3.5.7? Cosa significa questo? Come posso aggiornare il mio repository?

Risposte:


58

Controlla il ramo in cui ti trovi ( git branch), controlla la configurazione per quel ramo (in .../.git/config), probabilmente sei nel ramo sbagliato o la tua configurazione perché dice di unire con un ramo remoto (ora?) Inesistente.


22
Per rimuovere i riferimenti di diramazione remota inesistenti nel repository locale, utilizzare git remote prune origin.
jevon,

7
Un altro modo per "controllare la configurazione" per un ramo è: git branch -vv. Ciò visualizza il "telecomando" associato al ramo.
fuori dal 1 °

28

Nel mio caso, il mio ramo locale non è stato impostato per tenere traccia del ramo remoto. Ho dovuto eseguire manualmente:

git pull origin remotebranch

Quindi la prossima volta che fai una push fai "git push -u" per impostare il tracking corretto.


Lo stesso vale per la prima clonazione di un repository vuoto, ovvero creato utilizzandogit init --bare
ciclico

10

Nel mio caso, la mia filiale locale e la mia filiale remota avevano capitalizzazioni diverse.

Per risolvere il problema ho eliminato il mio ramo locale $ git branch -d branch-name, quindi ho verificato nuovamente il ramo remoto utilizzando $ git fetche $ git checkout Branch-name.


È pulito, semplice e funzionante. Grazie.
Balasubramani M,

Ho ricevuto questo errore nella riga cmd. Ho provato SmartGit con un rebase e l'ho superato.
P.Brian.Mackey

Fallo una volta invece di eliminare la diramazione e ricontrolla la diramazione ogni volta: Correggi le maiuscole nel tuo /.git/config
wz366

2

È possibile che qualcun altro nel tuo team abbia semplicemente unito il tuo ramo ed eliminato (comunemente fatto dopo l'unione). È possibile creare il ramo sul repository e riprovare. Mi capita di tanto in tanto presso la mia azienda (bitbucket viene utilizzato per impostazione predefinita per unire ed eliminare).


1

Nel mio caso (il solito avvertimento), avevo già un ramo con il nome appropriato, quindi dovevo solo aggiungere il remote = originmio .git / config:

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


1

Ho avuto lo stesso errore quando ho esaurito lo spazio su disco. Dopo aver ridimensionato il volume, l'errore era sparito.


0

Ho riscontrato questo problema a causa di un problema di involucro che si manifesta su Windows.

La mia configurazione Git sembrava:

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

Sul server esistevano sia "Bug" che "bug" come parte di più rami. Windows può contenere solo uno di questi alla volta, a causa del mapping del file system. Pertanto, ho aggiornato manualmente la mia configurazione in modo che corrispondesse alla versione del server, il che ha risolto il problema relativo al pull:

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

0

Se il ramo non c'è più,

$ 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

Quindi controlla il master o qualsiasi altra cosa tu abbia bisogno

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.