J'utilise parfois l' checkout -b
option pour créer une nouvelle branche, la vérifier en même temps et configurer le suivi en une seule commande.
Dans un nouvel environnement, j'obtiens cette erreur:
$ git checkout -b test --track origin/master
fatal: Cannot update paths and switch to branch 'test' at the same time.
Did you intend to checkout 'origin/master' which can not be resolved as commit?
Pourquoi Git n'aime-t-il pas ça? Cela fonctionnait avec le même repo.
git
git-checkout
émerveillé
la source
la source
origin/master
ne s'agit pas d'un ID de validation, c'est-à-dire qu'il ne s'agit pas d'une branche distante valide. Cela apparaît-il dans lagit branch -r
sortie?Réponses:
Étrange: vous devez vérifier vos télécommandes:
Et assurez-vous qu'il
origin
est récupéré:Ensuite:
(pour voir si vous avez récupéré une
origin/master
branche)Enfin, utilisez à la
git switch
place de la confusiongit checkout
, avec Git 2.23+ (août 2019).la source
pull
et puis cette commande a fonctionné..git
répertoire pourrait-il être corrompu d'une manière ou d'une autre?git remote -v
exécuté dans un dépôt git fonctionne.FWIW: Si vous avez une faute de frappe dans votre nom de branche, vous obtiendrez la même erreur.
la source
git checkout -b origin mybranch
au lieu degit checkout -b mybranch
(extraorigin
)orgin/my-branch
au lieu deorigin/my-branch
.i
J'en ai manqué un et j'ai continué à me gratter la tête pendant un moment pour comprendre pourquoi un vieil allié refuse de s'entendre. La faute de frappe était en effet le problème.Vous pouvez obtenir cette erreur dans le contexte, par exemple, d'une construction Travis qui, par défaut, extrait le code avec
git clone --depth=50 --branch=master
. À ma connaissance, vous pouvez contrôler--depth
via.travis.yml
mais pas le--branch
. Étant donné que cela entraîne le suivi d'une seule branche par la télécommande, vous devez mettre à jour indépendamment la télécommande pour suivre les références de la télécommande souhaitée.Avant:
Le correctif:
Après:
la source
Cette chose simple a fonctionné pour moi!
S'il dit qu'il ne peut pas faire 2 choses en même temps, séparez-les.
la source
Vous pouvez suivre ces étapes lorsque vous tombez sur ce problème:
qui produit ceci:
Comme vous pouvez le voir, la nouvelle branche a été récupérée à distance.
3. Enfin, vérifiez la branche avec cette commande
Il n'est pas nécessaire de dire explicitement à Git de suivre (en utilisant --track ) la branche avec remote.
La commande ci-dessus définira la branche locale pour suivre la branche distante depuis l'origine.
la source
Si vous avez un espace blanc dans votre branche, vous obtiendrez cette erreur.
la source
Pour moi, j'avais besoin d'ajouter la télécommande:
alors je pourrais aller chercher
la source
Cela fait que votre branche locale ne suit pas la branche distante. Comme ssasi l'a dit, vous devez utiliser ces commandes:
J'ai résolu mon problème tout à l'heure ...
la source
Vous avez d'abord besoin de
Fetch
la branche distante (la branche spécifique), puis vous pouvez créer un br local et le suivre avec cette branche distante en utilisant votre commande (c'est-checkout
à- dire avec -b et --track).la source
Vous devriez aller dans le répertoire du sous-module et exécuter
git status
.Vous pouvez voir que beaucoup de fichiers ont été supprimés. Vous pouvez courir
git reset .
git checkout .
git fetch -p
git rm --cached submodules
// submoudles est votre nomgit submoudle add ....
la source
Vous pouvez utiliser ces commandes: git remote update, git fetch, git checkout -b branch_nameA origin: branch_nameB
Je pense que c'est peut-être à cause de votre succursale locale ne peut pas suivre la succursale distante
la source