Votre configuration indique à fusionner avec le <nom de la branche> à partir de la télécommande, mais aucune de ces ref a été récupérée.?
J'obtiens cette erreur pour tirer:
Votre configuration indique à fusionner avec la réf
'refs/heads/fonction/Sprint4/ABC-123-Branche" de la télécommande, mais pas de
de telles ref a été récupérée.
Cette erreur ne vient pas de n'importe quelle autre branche.
La particularité de cette branche, c'est qu'il est créé à partir de la précédente livraison d'une autre branche.
Mon fichier de config ressemble:
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = <url here>
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "new-develop"]
remote = origin
merge = refs/heads/new-develop
[branch "feature/Sprint4/ABC-123-Branch"]
remote = origin
merge = refs/heads/feature/Sprint4/ABC-123-Branch
- Pouvez-vous partager la commande que vous utilisez pour effectuer la fusion?
- Ce problème peut se produire lorsque la distance n'a été supprimé. Double vérifier si c'est vraiment là.
- Les futurs lecteurs: Si vous connaissez la branche distante, vérifiez si vous êtes ignorant la casse ou non. J'ai eu l'installation d'une agence locale pour suivre une branche distante, mais de la saisie de la distance du nom en toutes lettres minuscules. Juste eu à se reconfigure locales pour suivre origine/BranchName au lieu d'origine/branchname
Vous devez vous connecter pour publier un commentaire.
Ce que cela signifie
Vos amont—la télécommande vous appelez
origin
—n'a plus, ou peut-être jamais eu (il est impossible de dire à partir de cette seule information) une branche nomméefeature/Sprint4/ABC-123-Branch
. Il y a un particulièrement raison en commun pour que: quelqu'un (probablement pas vous, ou si vous voulez en souviens plus) a supprimé le service des autres le dépôt Git.Quoi faire
Cela dépend de ce que vous voulez. Voir la section discussion ci-dessous. Vous pouvez:
Discussion
Vous devez être en cours d'exécution
git pull
(si vous avez été engit merge
, vous recevez un message d'erreur différent, ou pas de message d'erreur).Lorsque vous exécutez
git fetch
, votre Git contacts d'une autre Git, basé sur laurl
ligne en vertu de la[remote "origin"]
la section de votre configuration. Que Git exécute une commande (upload-pack
) qui, entre autres choses, envoie votre Git une liste de toutes les branches. Vous pouvez utilisergit ls-remote
pour voir comment cela fonctionne (l'essayer, c'est l'éducation). Voici un extrait de ce que je reçois lors de l'exécution de ce sur un dépôt Git pourgit
lui-même:La
refs/heads/
les entrées de la liste de toutes les branches qui existent sur la télécommande,1 avec la validation correspondante Id (pourrefs/tags/
entrées de l'IDs peuvent point à marquer les objets plutôt que de les commits).Votre Git prend chacun de ces noms de branche et changements selon les
fetch
ligne(s) dans la mêmeremote
section. Dans ce cas, votre Git remplacerefs/heads/master
avecrefs/remotes/origin/master
, par exemple. Votre Git le fait avec chaque nom de la branche qui vient à travers.Il enregistre également les noms d'origine dans le fichier spécial
FETCH_HEAD
(vous pouvez voir ce fichier, si vous regardez dans votre propre.git
répertoire). Ce fichier enregistre les récupéré les noms et Identifiants.La
git pull
de commande est conçu comme une commodité coupe courte: il fonctionnegit fetch
sur la télécommande, puis sur lagit merge
(ou, si instruit,git rebase
) avec quelles que soient les arguments sont nécessaires à la fusion (ou rebase) tel que prescrit par la[branch ...]
section. Dans ce cas, votre[branch "feature/Sprint4/ABC-123-Branch"]
section dit à extraire deorigin
, puis de fusionner avec tout ce que l'identification a été trouvé sous le nom derefs/heads/feature/Sprint4/ABC-123-Branch
.Depuis rien n'a été trouvé sous ce nom,
git pull
se plaint et s'arrête.Si vous avez exécuté ce que les deux étapes distinctes,
git fetch
et puisgit merge
(ougit rebase
), votre Git regardez votre cacheremotes/origin/
à distance-suivi des branches pour voir comment fusionner ou rebase sur. Si il y était telle branche, à un moment, vous pouvez encore avoir de la distance de suivi de la branche. Dans ce cas, vous ne serait pas un message d'erreur. Si il n'y avait jamais une telle branche, ou si vous avez exécutégit fetch
avec--prune
(qui supprime mort à distance-suivi des branches), de sorte que vous n'avez pas de distance correspondante-suivi de la direction générale, vous obtiendrez une plainte, mais il renvoie àorigin/feature/Sprint4/ABC-123-Branch
à la place.Dans les deux cas, nous pouvons conclure que
feature/Sprint4/ABC-123-Branch
n'existe pas sur la télécommande nomméorigin
.Il n'avait probablement exister à un moment donné, et vous avez probablement créé à votre succursale locale de la distance de suivi de la branche. Si donc, vous avez probablement encore ont la distance de suivi de la branche. Vous pourriez enquêter pour savoir qui a enlevé la branche à partir de la télécommande, et pourquoi, ou vous pouvez juste pousser quelque chose à re-créer ou supprimer de votre télécommande,-suivi de la direction générale et/ou à votre succursale locale.
1eh Bien, tout ce qu'il va admettre, au moins. Mais à moins d'avoir expressément caché quelques refs, la liste comprend tout.
git remote prune origin
git fetch --prune origin
, ou un ensemblefetch.prune
àtrue
dans votre configuration (tous les trois sont destinés à faire la même chose, bien que dans quelques versions de Git n'était pas assez fiable).Vérifier si votre branche à distance est disponible à tirer.
J'ai eu le même problème, enfin rendu compte de la distance n'a été supprimé par quelqu'un.
Cela peut aussi arriver si vous ou quelqu'un de renommé de la direction générale.
Alors suivez ces étapes (si vous savez que le nom de la branche est renommé)
En supposant que précédemment nom de la branche comme
wrong-branch-name
et quelqu'un de renommécorrect-branch-name
Donc.git pull
(vous verrez cela "Votre configuration indique..")git push --set-upstream origin correct-branch-name
git pull
(vous n'obtiendrez le message précédent )git push
et il ne fonctionnera pas si la branche courante est derrière son à distance.git pull origin correct-branch-name
est assez.git branch --unset-upstream
Pour moi, c'était une affaire de sensibilité de la question. Ma branche locale a été Version_feature2 au lieu de Version_Feature2. J'ai re-vérifié ma branche à l'aide de la bonne enveloppe, puis git pull travaillé.
Cette erreur peut également être reçu lorsque l'origine nom de la branche a certains cas de problème.
Par exemple: l'origine de la branche est
team1-Team
et la branche locale a été la caisse en tant qu'team1-team
. Ensuite, ceT
dans-Team
ett
dans-team
peut provoquer cette erreur. Ce qui s'est passé dans mon cas. Donc, en changeant le nom local à l'origine de la direction générale de nom, l'erreur a été résolu.J'ai eu une erreur similaire, lorsque la cause véritable est que mon disque était plein. Après la suppression de certains fichiers,
git pull
a commencé à travailler comme je m'y attendais.Dans mon cas, j'ai été tout simplement défaut initial de commit sur la branche distante, de sorte succursale locale n'était pas de trouver quelque chose à tirer et il a été de donner ce message d'erreur.
J'ai fait:
Il suffit de vérifier si quelqu'un a supprimé la branche à distance.
Que je rencontrais ce problème. Dans mon cas, @Jerreck du commentaire à propos de la casse dans les noms de branche a été la cause de cette erreur. Certains des outils de Windows ne sont pas conscients de la sensibilité de cas.
Pour désactiver la sensibilité à la casse dans git, exécutez cette commande:
Remarque que cela aura un impact plus que les noms de branche. Par exemple, si vous avez des "Foo.h" et "foo.h" dans le même répertoire (pas une bonne idée lors de la création de logiciels pour Windows) ensuite, je soupçonne que vous ne pouvez pas désactiver la casse.
Pour moi, c'est arrivé parce que j'ai fusionné une branche de dev en master à l'aide de l'interface web, puis essayé de synchroniser/tirez à l'aide de VSCode qui a été ouvert sur la branche dev.(sa bizarre que je ne pouvais pas changer de maître sans se faire cette erreur.)
Il a un sens qui n'est pas à la trouver refs/heads/dev - pour moi, c'était plus facile, il suffit de supprimer le dossier local et clone de nouveau.
Je viens de recevoir exactement cette erreur lorsque vous faites "git pull" quand mon disque était plein. Créé de l'espace et tout a commencé à travailler à nouveau.
Vous pouvez modifier le
~/.gitconfig
fichier dans votre dossier home. C'est là où le climat, les paramètres sont enregistrés.Ou, utiliser
git config --global --unset-all remote.origin.url
et après le rodagegit fetch
avec des url dans le référentiel.J'ai été confronté à la même question, d'où mon actuelle de la branche de dev et je vérifiais à M. de la branche et de faire la commande git pull par la suite. Une simple solution de contournement que j'ai pris était, j'ai créé un nouveau dossier pour M. Branche et n'a git pull il s'en est suivi par git clone.
Donc en gros, j'ai conservé des dossiers différents pour pousser code à une autre branche.
Dans mon cas, j'avais supprimé l'original de la branche à partir de laquelle ma branche dérivée de. Ainsi, dans le .git/config fichier que j'avais:
la simil2.0.5 a été supprimé. Je l'ai remplacé avec le même nom de la branche:
et il a travaillé
Si un autre pull fonctionne, tout simplement, cela signifie que votre connexion internet n'est pas connecté.