J'ai un miroir git sur mon disque et quand je veux mettre à jour mon dépôt avec git pull il me donne un message d'erreur:
Your configuration specifies to merge with the ref '3.5/master' from the remote, but no such ref was fetched.
Cela me donne aussi:
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
Lorsque je lance make menuconfig, cela me donne la version Linux 3.5.7? Qu'est-ce que ça veut dire? Comment mettre à jour mon référentiel?
Vérifiez la branche sur laquelle vous vous trouvez (git branch
), vérifiez la configuration de cette branche (dans .../.git/config
), vous êtes probablement sur la mauvaise branche ou votre configuration car elle indique de fusionner avec une branche distante (maintenant?) inexistante.
Dans mon cas, ma branche locale n'était pas configurée pour suivre la branche distante. J'ai dû exécuter manuellement:
git pull Origin remotebranch
Ensuite, la prochaine fois que vous effectuez un Push, faites "git Push -u" pour configurer un suivi correct.
Dans mon cas, ma succursale locale et ma succursale éloignée avaient une capitalisation différente.
Pour résoudre ce problème, j'ai supprimé ma branche locale $ git branch -d branch-name
, puis extrait à nouveau la branche distante à l'aide de $ git fetch
et $ git checkout Branch-name
.
Il est possible qu'un autre membre de votre équipe ait simplement fusionné votre branche et l'a supprimée (ce qui est généralement fait après la fusion). Vous pouvez créer la branche sur le dépôt et réessayer. Cela m'arrive dans mon entreprise de temps en temps (bitbucket par défaut fusionne et supprime).
J'ai eu la même erreur lorsque je manquais d'espace disque. Après avoir redimensionné le volume, l'erreur a disparu.
Si la succursale a disparu,
$ 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
Ensuite, passez à la caisse maître ou tout ce dont vous avez besoin
Dans mon cas, j'ai dû appeler manuellement les commandes suivantes:
git fetch Origin
git merge Origin/master
Dans mon cas (la mise en garde habituelle), j'avais déjà une branche du nom approprié donc je n'avais qu'à ajouter remote = Origin
à mon .git/config:
[branch "sparql"]
merge = refs/heads/sparql
remote = Origin # <-- added
J'ai eu ce problème en raison d'un problème de boîtier qui se manifeste sous Windows.
Ma configuration Git ressemblait à:
[branch "Bug/some_branch"]
remote = Origin
merge = refs/heads/Bug/some_branch
Sur le serveur, "Bug" et "bug" existaient dans le cadre de plusieurs branches. Windows ne peut en contenir qu'un à la fois, en raison du mappage du système de fichiers. Par conséquent, j'ai mis à jour manuellement ma configuration pour correspondre à la version du serveur, ce qui a en fait résolu le problème d'extraction:
[branch "Bug/some_branch"]
remote = Origin
merge = refs/heads/bug/some_branch