J'utilise un dépôt Git local. Lorsque j'essaie de valider les modifications apportées au fichier de modèle de données principal (.xcdatamodel), je reçois le message suivant:
error: pathspec '.../DataModel.xcdatamodeld/DataModel.xcdatamodel/contents' did not match any file(s) known to git.
Comment résoudre ce problème et valider le modèle comme je le fais avec n'importe quel autre fichier?
La réponse choisie est trop spécifique à sa propre question et ne donne aucune idée de la cause réelle. Le problème est en effet, comme mentionné avant la modification de la casse d'un nom de fichier. Pour moi personnellement, c'est à cause de mon Macbook/OSX. Apparemment, Windows a la même "chose".
Cause: git n'est pas capable de reconnaître un changement de 'nom de fichier' en 'Nom de fichier'.
Voici une liste de solutions pour ceux qui tombent sur cette question. Tous doivent être exécutés à la racine du projet:
Changer le paramètre de cas Git. Le fichier doit être validé ensuite
git config core.ignorecase false --global
git config core.ignorecase false
git commit -a -m "pathspec did not match any file(s) known to git fix"
Delete the file. Commit. Push. Add the file again. Commit. Push.
Ce n'était probablement pas votre problème, mais cette page a un rang élevé sur Google pour l'erreur:
Git n'aime pas renommer les sources où la source et la destination ne diffèrent que par cas. (Spécifique à Windows) Voir Comment puis-je valider les modifications de nom de fichier sensibles à la casse uniquement dans Git? pour les solutions.
Ce n'est pas une bonne façon de résoudre le problème, mais c'est une solution de contournement qui peut aider les autres ... Faites ceci dans votre terminal:
git commit -m "<message>" <project dir>
Remplacez-le par votre message et par le répertoire de votre projet.
Ceci est similaire à la réponse de tf.alves, mais normalement je fais un
git commit -a -m "comment"
J'ai constaté que si j'oublie les paramètres -a et -m, le message d'erreur: pathspec mentionné ci-dessus apparaît.
J'ai rencontré le même problème après avoir renommé un fichier de storyboard. Les étapes suivantes l'ont corrigé pour moi -
Pas sûr, mais je pense que git tenait peut-être une référence à l'ancien nom de fichier et nettoyait le dossier de construction puis la construction corrigeait cela.
J'espère que ça aide!
J'ai supprimé le fichier .xcdatamodel, validé, ajouté et validé à nouveau. Pas propre, mais a travaillé.
J'ai eu la même erreur en utilisant xcode 9.1. Je l'ai résolu par commit manuel depuis le terminal. Les étapes sont les suivantes
Une fois que vous avez validé manuellement toutes les modifications depuis le terminal, vous pouvez utiliser le contrôle de source dans xcode.
J'ai eu cette erreur dans Xcode, je viens de redémarrer Xcode, puis de nouveau validé.
Je fixe comme ça:
Cela a résolu le problème pour moi. Supprimez le fichier de votre projet. Je l'ai traîné dans un autre dossier. J'ai ensuite enlevé la référence, nettoyé le projet et ensuite construit le projet.
Puis engagez-vous et appuyez sur votre git. Ajoutez ensuite le fichier et validez à nouveau.
J'ai résolu le problème simplement en fermant XCODE et en l'ouvrant à nouveau. Je sais que ce n'est pas une solution intéressante, mais cela a fonctionné sans aucune modification des fichiers de ma part.
J'ai eu cette erreur dans Xcode après avoir changé l'extension de l'un de mes fichiers (.txt a été remplacé par .json). Je l'ai résolu en faisant un clic droit sur le fichier, en sélectionnant Source Control -> Commit Selected Files...
, et ne commettant que ce fichier. Après cela, j'ai pu retourner à Source Control -> Commit
(de la barre de menu), et le reste des fichiers ont été validés avec succès.
J'ai résolu ce problème en supprimant le référentiel de projet local et en le recréant.
supprimez votre référentiel local (Xcode) et en ligne (Github, ...), créez un nouveau référentiel et validez-le à nouveau.
pour supprimer le référentiel git de votre projet:
1- ouvrez le terminal et collez cette commande pour activer l'affichage du fichier caché dans le Finder
defaults write com.Apple.Finder AppleShowAllFiles TRUE
killall Finder
2- ouvrir le dossier de projet et supprimer le dossier .git
3- redémarrer Xcode
maintenant, créez un nouveau dépôt git et validez le projet