web-dev-qa-db-fra.com

error: pathspec 'test-branch' ne correspond à aucun fichier connu de git

Je suis un nouvel utilisateur de Git. J'ai créé un référentiel appelé Spoon-Knife (disponible pour pratiquer le forking avec Git). Ensuite, je l'ai cloné localement en exécutant

git clone https://github.com/rohinichoudhary/Spoon-Knife.git

Ce référentiel contient trois branches, à savoir:.

  • master,
  • test-branch,
  • change-the-title.

Quand je cours git branch, il ne montre que *master, pas les deux branches restantes. Et quand je cours

git checkout test-branch

Je reçois l'erreur suivante:

error: pathspec 'test-branch' ne correspond à aucun fichier connu de git.

Pourquoi cela arrive-t-il? Comment puis-je résoudre ce problème?

38
Rohini Choudhary

Quand je cours git branch, il ne montre que *master, pas les deux branches restantes.

git branch ne répertorie pas test_branch, car il n’existe pas encore de branche de ce type dans votre dépôt local. Lors du clonage d'un référentiel, une seule branche locale (master, ici) est créée et extraite dans le clone résultant, quel que soit le nombre de branches présentes dans le référentiel distant à partir duquel vous avez cloné. À ce stade, test_branch n’existe dans votre référentiel qu’en tant que suivi à distance , et non en tant que branche locale .

Et quand je cours

git checkout test-branch

Je reçois l'erreur suivante [...]

Vous devez utiliser une "ancienne" version de Git. Dans les versions plus récentes ( à partir de v1.7.0-rc ),

Si <branch> n'est pas trouvé, mais il existe une branche de suivi dans une seule télécommande (appelez-la <remote>) avec un nom correspondant, traiter [git checkout <branch>] comme équivalent à

$ git checkout -b <branch> --track <remote>/<branch>

Il suffit de courir

git checkout -b test_branch --track Origin/test_branch

au lieu. Ou effectuez une mise à jour vers une version plus récente de Git.

29
jub0bs

Mon ami (e), vous devez d'abord créer ces branches correspondantes localement pour pouvoir accéder à ces deux autres branches à l'aide de cette ligne de code.

git branch test-branch  

et

git branch change-the-title

alors seulement vous pourrez faire git checkout à ces branches

De plus, après avoir créé chaque branche, prenez les dernières modifications de ces branches particulières en utilisant git pull Origin branche_name comme indiqué dans le code ci-dessous

git branch test-branch
git checkout test-branch
git pull Origin test-branch

et pour une autre branche nommée change-the-title lance le code suivant =>

git branch change-the-title
git checkout change-the-title
git pull Origin change-the-title

Bonne programmation :)

19
NIKHIL CHAURASIA

Le Git moderne devrait pouvoir détecter les branches distantes et en créer une à la caisse.

Cependant, si vous le faisiez n clone peu profond (par exemple avec --depth 1), essayez les commandes suivantes pour le corriger:

git config remote.Origin.fetch '+refs/heads/*:refs/remotes/Origin/*'
git fetch --all

et essayez à nouveau de vérifier la succursale.

Vous pouvez également essayer de libérer votre clone, par exemple git fetch --unshallow et essayez à nouveau.

Voir aussi: Comment récupérer toutes les branches distantes?

18
kenorb

Vous pouvez également obtenir cette erreur avec n’importe quelle version de git si la branche distante a été créée après votre dernier clone/fetch et que votre référentiel local n’a pas encore connaissance de cela. Je l'ai résolu en faisant un git fetch _ premier qui "informe" votre référent local de toutes les succursales distantes.

git fetch
git checkout test-branch
14
pilkch

il suffit de suivre trois étapes, le problème de branche git sera résolu.

git remote update
git fetch
git checkout --track Origin/test-branch

6
Shajid

Solution:

Pour résoudre ce problème, vous devez d'abord aller chercher

$ git fetch Origin

$ git rebase Origin/master

Le maître de succursale actuel est à jour.

$ git checkout develop

Développement de branches mis en place pour suivre les branches distantes développées depuis Origin.

Passé à une nouvelle branche "développer"

1
Bruno Kocziceski