Mon problème est lié à l' erreur Fatal Git lors du changement de branche .
J'essaye de récupérer une branche distante avec la commande
git checkout -b local-name origin/remote-name
mais je reçois ce message d'erreur:
fatal: git checkout: la mise à jour des chemins est incompatible avec le changement de branche.
Avez-vous l'intention de retirer 'origine / nom distant' qui ne peut pas être résolu en tant que commit?
Si je crée manuellement une branche, puis que je tire la branche distante, cela fonctionne, tout comme la création d'un nouveau clone et l'extraction de la branche.
Pourquoi cela ne fonctionne-t-il pas sur le référentiel avec lequel je travaille?
Réponses:
Je crois que cela se produit lorsque vous essayez de vérifier une branche distante dont votre dépôt git local n'est pas encore au courant. Essayer:
Si la branche distante que vous souhaitez extraire se trouve sous "Nouvelles branches distantes" et non "Branches distantes suivies", vous devez d'abord les récupérer:
Maintenant, cela devrait fonctionner:
la source
git fetch
obtiendra toutes les branches de tous les dépôts distants.git remote update
avant que votre extraction ne récupère cette télécommande. Sinon, vous obtenez des messages commeDid you intend to checkout 'upstream-repo/master' which can not be resolved as commit?
s'il vous plaît ajoutez ceci à la réponse et économisez des heures aux gens en lisant les mêmes réponses qui ne fonctionnent que pour l'origine.Syntaxe alternative,
la source
--depth
qualificatif du clone d'origine peut être en cause ici. J'ai réussi,git fetch remote_branch_name:local_branch_name
mais tous les autres conseils ont échoué.Après avoir essayé la plupart de ce que j'ai pu lire dans ce fil sans succès, je suis tombé sur celui-ci: la branche distante ne s'affiche pas dans "git branch -r"
Il s'est avéré que mon fichier .git / config était incorrect. Après avoir effectué une correction simple, toutes les branches sont apparues.
Venir de
à
A fait l'affaire
la source
Je ne sais pas si cela est utile ou exactement pertinent pour votre question, mais si vous essayez de récupérer et d'extraire uniquement une seule branche du référentiel distant, les commandes git suivantes feront l'affaire:
la source
rien de ce qui précède n'a fonctionné pour moi. Ma situation est légèrement différente, ma branche distante n'est pas à l' origine . mais dans un référentiel différent.
astuce: si vous ne voyez pas la branche distante dans la sortie suivante,
git branch -v -a
il n'y a aucun moyen de la vérifier.Travail confirmé sur 1.7.5.4
la source
git branch -v -a
: j'avais une télécommande mal configurée qui disaitfetch = +refs/heads/*:refs/remotes/master/*
même si la télécommande était appeléeupstream
.Pour moi, ce qui a fonctionné a été:
Ce qui tire toutes les références vers votre machine pour toutes les branches sur la télécommande. Alors je pourrais faire
et cela a parfaitement fonctionné. Similaire à la réponse la plus votée, mais un peu plus simple.
la source
Je soupçonne qu'il n'y a pas de branche distante nommée nom-distant, mais que vous avez créé par inadvertance une branche locale nommée origine / nom-distant.
Est-il possible à un moment donné de taper:
Ainsi, créer une branche locale nommée origin / remote-name? Tapez cette commande:
Vous verrez soit:
ce qui signifie que c'est vraiment une branche locale mal nommée, ou
ce qui signifie que c'est vraiment une branche distante.
la source
Ce n'est pas très intuitif mais ça marche bien pour moi ...
ALORS exécutez la commande git branch --track ...
la source
Pour moi j'avais une faute de frappe et ma branche distante n'existait pas
Utiliser
git branch -a
pour lister les branches distantesla source
Votre problème pourrait-il être lié à cette autre question SO "problème de paiement" ?
ie: un problème lié à:
git checkout -b [<new_branch>] [<start_point>]
avec[<start_point>]
référence au nom d'un commit à laquelle pour commencer la nouvelle branche, et'origin/remote-name'
n'est pas.(alors que
git branch
prend en charge un start_point étant le nom d'une branche distante)Remarque: ce que dit le script checkout.sh :
C'est comme si la syntaxe git checkout -b [] [remote_branch_name] était à la fois renommer la branche et réinitialiser le nouveau point de départ de la nouvelle branche, ce qui est jugé incompatible.
la source
Après avoir récupéré un million de fois, des télécommandes ajoutées ne sont pas apparues, même si les taches étaient dans la piscine. Il s'avère que l' option --tags ne doit pas être donnée
git remote add
pour une raison quelconque. Vous pouvez le supprimer manuellement du fichier .git / config pour que git fetch crée les références.la source