Git checkout: la mise à jour des paths est incompatible avec le changement de twig

Mon problème est lié à l' erreur Fatal Git lors du changement de twig .

J'essaie d'aller chercher une twig distante avec la command

git checkout -b local-name origin/remote-name 

mais je reçois ce message d'erreur:

fatal: git checkout: la mise à jour des paths est incompatible avec le changement de twig.
Avez-vous eu l'intention de passer en revue 'origin / remote-name' qui ne peut être résolu en commit?

Si je crée manuellement une twig puis que je tire la twig distante, cela fonctionne, tout comme faire un nouveau clone et vérifier la twig.

Pourquoi cela ne fonctionne-t-il pas sur le référentiel avec lequel je travaille?

Solutions Collecting From Web of "Git checkout: la mise à jour des paths est incompatible avec le changement de twig"

Je crois que cela se produit lorsque vous essayez de vérifier une twig distante que votre repo git local n'est pas encore au courant. Essayer:

 git remote show origin 

Si la twig distante que vous souhaitez archiver se trouve sous "Nouvelles twigs distantes" et non "Branches distantes suivies", vous devez d'abord les récupérer:

 git remote update git fetch 

Maintenant, cela devrait fonctionner:

 git checkout -b local-name origin/remote-name 

Syntaxe alternative,

 git fetch origin remote_branch_name:local_branch_name 

Après avoir essayé la plupart de ce que j'ai pu lire dans ce fil sans succès, j'ai trébuché sur celui-ci: Branche distante n'apparaissant pas dans "git branch -r"

Il s'est avéré que mon file .git / config était incorrect. Après avoir fait une correction simple toutes les twigs se sont présentées.

Venir de

 [remote "origin"] url = http://stash.server.com/scm/EX/project.git fetch = +refs/heads/master:refs/remotes/origin/master 

à

 [remote "origin"] url = http://stash.server.com/scm/EX/project.git fetch = +refs/heads/*:refs/remotes/origin/* 

Est-ce que le tour

Je ne sais pas si cela est utile ou très pertinent pour votre question, mais si vous essayez d'extraire et d'extraire une seule twig du référentiel distant, alors les commands git suivantes feront l'affaire:

 url= << URL TO REPOSITORY >> branch= << BRANCH NAME >> git init git remote add origin $url git fetch origin $branch:origin/$branch git checkout -b $branch --track origin/$branch 

aucun de ce qui précède n'a fonctionné pour moi. Ma situation est légèrement différente, ma twig distante n'est pas à l' origine . mais dans un référentiel différent.

 git remote add remoterepo GIT_URL.git git fetch remoterepo git checkout -b branchname remoterepo/branchname 

Astuce: si vous ne voyez pas la twig distante dans la sortie suivante git branch -v -a il n'y a aucun moyen de vérifier.

Confirmé travaillant sur 1.7.5.4

Pour moi, ce qui a fonctionné était:

 git fetch 

Ce qui tire toutes les references vers votre machine pour toutes les twigs sur la télécommand. Alors je pourrais faire

 git checkout <branchname> 

et cela a fonctionné parfaitement. Semblable à la réponse la plus votée, mais un peu plus simple.

Je soupçonne qu'il n'y a pas de twig distante nommée remote-name, mais que vous avez par inadvertance créé une twig locale nommée origin / remote-name.

Est-il possible que vous ayez tapé à un moment donné:

 git twig origine / nom-distant

Donc créer une twig locale nommée origin / remote-name? Tapez cette command:

 git checkout origine / nom-distant

Vous verrez soit:

 Commuté sur la twig "origin / remote-name"

ce qui signifie que c'est vraiment une twig locale mal nommée, ou

 Note: passer à "origin / rework-isscoring" qui n'est pas une twig locale
 Si vous voulez créer une nouvelle twig à partir de cette caisse, vous pouvez le faire
 (maintenant ou plus tard) en utilisant à nouveau -b avec la command checkout.  Exemple:
   git checkout -b 

ce qui signifie que c'est vraiment une twig distante.

Ce n'est pas très intuitif mais cela fonctionne bien pour moi …

  mkdir remote.git & cd remote.git & git init git remote add origin $REPO git fetch origin $BRANCH:refs/remotes/origin/$BRANCH 

Puis lancez la command git branch –track …

  git branch --track $BRANCH origin/$BRANCH 

Votre problème pourrait-il être lié à cette autre question SO "problème de paiement" ?

c'est-à-dire: un problème lié à:

  • une ancienne version de Git
  • une syntaxe de checkout curieuse, qui devrait être: git checkout -b [<new_branch>] [<start_point>] , avec [<start_point>] référant au nom d'une validation à laquelle démarrer la nouvelle twig, et 'origin/remote-name' n'est pas ça.
    (alors que la git branch supporte un start_point étant le nom d'une twig distante)

Note: ce que dit le script checkout.sh est:

  if test '' != "$newbranch$force$merge" then die "git checkout: updating paths is incompatible with switching twigs/forcing$hint" fi 

C'est comme si la syntaxe de git checkout -b [] [remote_branch_name] était à la fois de renommer la twig et de réinitialiser le nouveau sharepoint départ de la nouvelle twig, ce qui est jugé incompatible.

Après avoir récupéré un zillion de fois, les télécommands ajoutées ne sont pas apparues, même si les blobs é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 file .git / config pour que git fetch crée les references.