Pourquoi est-ce que je reçois «Échec de la validation avec erreur: pathspec… ne correspond à aucun fichier»?

J’ai des problèmes avec Git.

J’ai un référentiel où je peux commettre n’importe quel fichier sans problème. Cependant, il y a un seul fichier ‘Funder.php’ qui, quand j’essaie de commettre, me dit qu’il y a une erreur comme:

Commit failed with error: pathspec 'application/libraries/Funder.php' did not match any file(s) known to git. 

Je suis tout à fait nouveau à cela, alors je me demandais si quelqu’un pouvait s’il vous plaît aider?

C’est l’erreur que vous obtenez lorsque vous essayez d’exécuter

 git commit  

mais n’a pas encore été mis en scène; en d’autres termes, Git n’en a pas encore été informé. C’est probablement ce qui se passe ici. Courir

 git add application/libraries/Funder.php 

puis essayez de vous engager.

La raison pour laquelle cette erreur se produit est indiquée dans cet article: https://stackoverflow.com/a/29485441/2769415

Solution: Renommez le fichier en original, puis renommez-le en un autre nom, puis revenez à celui avec la mise en majuscule correcte. Git ne lancera plus le bug.

Exemple:

 Created FOOBar class. Renamed it to FooBar and then got the error. Rename it back to FOOBar. Rename to FooBarTest. Rename to FooBar. Git works now. 

J’ai eu le même problème dans Android Studio après avoir renommé certaines activités. J’ai essayé d’append (git add) et de déplacer (git mv) les fichiers mais je ne les ai jamais aidés et je recevais le même message encore et encore.

Enfin, j’ai décidé de sauvegarder les classes du paquet contenant le fichier problématique dans un dossier séparé de mon disque dur, puis j’ai supprimé les fichiers du dossier d’origine et du terminal que j’ai créé:

 rm app/src/main/java/com/path/to/package/with/problematic/files/ 

Ensuite, recréé le paquet supprimé via Android Studio et copié et collé mes classes là-bas. Après cela, j’ai pu m’engager sans problème.

Voici une réponse concise sur le moyen le plus rapide de résoudre ce problème. Similaire à @ cmbind55 post mais au point.

Problème: j’ai ajouté un fichier que j’ai renommé plus tard.

Solution:

  1. Supprimer l’ancien nom de fichier

git reset HEAD oldFileName.file

  1. Maintenant, ajoutez le nouveau nom de fichier

git add newFileName.file

  1. S’engager et être heureux

J’ai eu ce scénario de validation échoué en raison d’un répertoire renommé.

C’était le répertoire créé à l’origine avec une erreur de capitalisation:

 application/Templates/lists/index.html 

Au sein de l’IDE, j’avais accepté d’append ce fichier au référentiel git existant. Lors de tests ultérieurs, j’ai découvert un problème de chemin d’access sensible à la casse avec la mise en majuscule de «modèles». Dans l’EDI, j’ai simplement renommé le répertoire en “templates” (en minuscule). Je n’ai pas enregistré la séquence réelle des événements autour de cela, mais plus tard, lorsque ma validation a échoué avec le message suivant, j’ai eu l’impression que c’était ce problème. Apparemment, l’EDI n’a pas complètement géré ce cas de renommage d’un répertoire.

Le message d’erreur de validation IDE:

Echec de la validation avec l’erreur: pathspec “application / templates / lists / index.html” ne correspond à aucun fichier connu de git.

Après quelques lectures, ma stratégie consistait à retirer le fichier et à l’append à nouveau. J’ai désinstallé le fichier suspect

 git reset HEAD lists/Templates/lists/index.html 

Notez que git status n’affiche que le répertoire ici … Pas le fichier.

 Untracked files: (use "git add ..." to include in what will be committed) lists/templates/ 

Ensuite, j’ai rajouté le nom du répertoire corrigé (je n’ai utilisé que le chemin de l’ajout, en suivant l’exemple du statut git).

 git add lists/templates/ 

Après cela, mon commit a réussi. Je ne suis pas sûr que ce soit la technique idéale, mais cela a résolu l’erreur de validation dans mon cas.

J’ai eu le même problème. changez simplement ‘guillemets simples’ en guillemets doubles “”

J’ai eu un problème similaire mais je l’ai corrigé. J’aurais dû utiliser “” au lieu de ” dans la ligne de commande Windows

J’ai eu le même problème. Aucune des réponses ne m’a aidé à résoudre le problème. Après avoir été bloqué pendant deux jours, j’ai attiré l’attention sur le fait que le nom de fichier complet avec le chemin est très long. J’ai refait le renommage en le renommant en quelque chose de moins compliqué et en réorganisant les dossiers pour réduire la longueur du nom de fichier et cela a fonctionné!

iOS 9.2.1, Xcode 7.2.1, ARC activé

Accédez à cela en changeant le fichier “contents.json” pour mon catalogue d’actifs LaunchImage. Vous pouvez choisir d’utiliser les commandes de terminal fournies comme réponse, mais essayez cette méthode plus simple …

Contrôle des sources -> Actualiser le statut

entrer la description de l'image ici

J’espère que cela t’aides. À votre santé!

Si vous travaillez à partir du terminal, assurez-vous d’avoir un indicateur de message dans votre commande.

git commit "Your Commit Message" //Throws an error: pathspec '3.

git commit -m "Your Commit Message" //No error thrown

J’ai eu le même problème avec le mot “certificate” en tant que nom de paquet … quand je renomme le paquet en “certificates” ça marche … étrange ..

Avec XCode 7.3, j’ai renommé le fichier en question en FooBar.foo.tmp, puis validé une fois que XCode / git a ajouté ce nouveau fichier et défini l’ancien à supprimer. Une fois que je me suis engagé, je l’ai renommé (dans XCode). Maintenant ça va. C’est la vie.

Mon problème était que je copiais / collais toute la ligne de validation, et qu’il y avait des caractères spéciaux, qui semblaient être des caractères normaux dans la console (ex: guillemets au lieu de guillemets normaux). Une fois que je les ai collés dans un éditeur de texte brut, je les ai vus, les ai corrigés et cela a fonctionné.

J’ai eu le même problème avec le fichier ‘.entitlements’, en supprimant le fichier existant et en l’ajoutant à nouveau, cela a fonctionné pour moi.

J’ai eu un problème similaire en commettant des fichiers supprimés avec SourceTree dans Mac. Un des fichiers problématiques avait des accents (áéíóú …). Pour le résoudre, je devais utiliser terminal plutôt que SourceTree

J’ai fait cela en créant par erreur la twig dans un repo différent sur BitBucket, alors assurez-vous d’être dans le bon repo et que la twig existe.