J'ai des problèmes avec Git.
J'ai un référentiel où je peux valider n'importe quel fichier sans problème. Cependant, il existe un seul fichier 'Funder.php' qui, lorsque j'essaye de m'engager, m'indique qu'il y a une erreur telle que:
Commit failed with error:
pathspec 'application/libraries/Funder.php' did not match any file(s) known to git.
Je suis assez novice dans ce domaine, alors je me demandais si quelqu'un pouvait aider s'il vous plaît?
Ceci est l'erreur que vous obtenez lorsque vous essayez d'exécuter
git commit <file>
mais <file>
n'a pas encore été mis en scène; En d'autres termes, Git n'en a pas encore été informé. C'est très 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 ce message: https://stackoverflow.com/a/29485441/2769415
Le système de fichiers Windows est généralement insensible à la casse, vous ne pouvez donc pas renommer un fichier en changeant simplement sa capitalisation. Au lieu de cela, vous devrez utilisez un nom temporaire entre les deux.
Solution: Renommez le fichier par son nom d'origine, puis renommez-le sous un autre nom, puis revenez à celui qui contient la casse correcte. Git ne jettera plus le bogue.
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'ajouter (git add) et de déplacer (git mv) les fichiers mais je n'ai jamais rien fait et je recevais le même message encore et encore.
Finalement, 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 fait:
rm app/src/main/Java/com/path/to/package/with/problematic/files/
Puis recréé le paquet supprimé via Android Studio et copié-collé mes classes là-bas. Après cela, j'ai pu m'engager sans aucun problème.
Voici une réponse concise sur le moyen le plus rapide de résoudre ce problème. Semblable à @ cmbind55 post mais au point.
Problème: J'ai ajouté un fichier que j'ai renommé par la suite.
Solution:
git reset HEAD oldFileName.file
git add newFileName.file
Ce scénario de validation a é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'EDI, j'avais accepté d'ajouter ce fichier au dépôt git existant . Lors d'essais ultérieurs, j'ai découvert que j'avais un problème de chemin sensible à la casse avec la capitalisation de "Modèles". Dans l'EDI, j'ai simplement renommé le répertoire "templates" (changé en minuscule). Je n'ai pas enregistré la séquence d'événements autour de cela, mais plus tard, lorsque ma validation a échoué avec le message suivant, j'avais l'intuition que c'était ce problème. Apparemment, IDE n'a pas complètement traité ce cas de renommage d'un répertoire.
Le message d'erreur de validation IDE:
La validation a échoué avec l'erreur: pathspec "application/templates/lists/index.html" ne correspond à aucun fichier connu pour git.
Après quelques lectures, ma stratégie consistait à extraire le fichier, puis à l'ajouter à nouveau. J'ai décomposé le fichier suspect
git reset HEAD lists/Templates/lists/index.html
Note, le statut de git n'a montré que le répertoire ici ... Pas le fichier.
Untracked files:
(use "git add <file>..." to include in what will be committed)
lists/templates/
Ensuite, j'ai rajouté avec le nom de répertoire corrigé (je n'ai utilisé que le chemin d'accès pour l'ajout, en suivant l'exemple du statut de git).
git add lists/templates/
Après cela, mon commit a réussi. Je ne sais pas si c'était la technique idéale, mais cela a résolu l'erreur de validation dans mon cas.
j'ai eu le même problème. il suffit de changer les "guillemets simples des commentaires initiaux" pour les guillemets doubles ""
si vous travaillez depuis un terminal, assurez-vous que vous avez 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
iOS 9.2.1, Xcode 7.2.1, ARC activé
Couru dans 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 de la source -> Actualiser le statut
J'espère que cela t'aides. À votre santé!
J'ai eu un problème similaire mais résolu. J'aurais dû utiliser "" au lieu de '' en ligne de commande Windows
J'ai eu le même problème. Aucune des réponses ici ne m'a pas aidé à résoudre le problème. Après être resté bloqué pendant deux jours, j’ai attiré l’attention sur le fait que le nom de fichier entier avec chemin est très long. J'ai refactorisé en le renommant en quelque chose de moins compliqué et en réorganisant les dossiers afin de réduire la longueur du nom de fichier et cela a fonctionné!
j'ai eu le même problème avec le mot "certificat" en tant que nom de paquet ... quand je renomme le paquet en "certificats" ça fonctionne ... étrange ..
J'ai eu le même problème avec le fichier '.entitlements', supprimer le fichier existant et l'ajouter à nouveau a fonctionné pour moi.
J'ai eu la même erreur. Je transmettais le message de validation dans le cadre de l'argument de ligne de commande. Le message de validation que je passais avec des guillemets doubles.
Dans git commit, j'utilisais de nouveau les guillemets. Cela jetait la même erreur.
J'ai donc supprimé les guillemets du message de validation tout en appelant git commit. Cela a résolu mes problèmes.
git commit -m "%commit_message%"
La commande ci-dessus lançait la même erreur
Je l'ai changé pour
git commit -m %commit_message%
Cela a résolu mon problème.
J'ai expérimenté cela en créant par erreur la branche dans un autre référentiel sur BitBucket. Assurez-vous donc que vous êtes dans le bon référentiel et que la branche existe.
J'ai eu un problème similaire lors de la validation de fichiers supprimés avec SourceTree sous Mac. Un des fichiers problématiques avait des accents (áéíóú ...). Pour le résoudre, je devais utiliser un terminal plutôt que SourceTree
Mon problème était que je copiais/collais toute la ligne de validation et que celle-ci avait des caractères spéciaux, qui semblaient être des caractères normaux dans la console (ex: guillemets intelligents au lieu de guillemets normaux). Une fois que je les ai collés dans un éditeur de texte brut, je les ai vus, corrigés et tout a fonctionné.
Dans mon cas, le fichier problématique a été marqué avec --skip-worktree
. Cela pourrait être facilement vérifié avec
git ls-files -v . | grep ^S
Avec XCode 7.3, j'ai renommé le fichier en question en FooBar.foo.tmp, puis je l'ai validé une fois que XCode/git a ajouté ce nouveau fichier et défini l'ancien fichier à supprimer. Une fois que je me suis engagé, je l'ai renommé (dans XCode). Maintenant ça va. C'est la vie.