Xcode – Fehler: pathpec ‘…’ stimmt mit keiner Datei(en) überein, die Git bekannt sind
Lesezeit: 4 Minuten
Abdalrahman Shatou
Ich verwende ein lokales Git-Repo. Wenn ich versuche, Änderungen an der Kerndatenmodelldatei (.xcdatamodel) festzuschreiben, erhalte ich diese Meldung:
error: pathspec '.../DataModel.xcdatamodeld/DataModel.xcdatamodel/contents' did not match any file(s) known to git.
Wie kann ich dies beheben und das Modell wie bei jeder anderen Datei übergeben?
Sie müssen keine besonderen Schritte mit Git unternehmen, um mit Core Data-Modellen umzugehen. Sie sind nicht einmal binär, sodass sie wie jede Quelldatei festgeschrieben, verfolgt und verglichen werden können. Existiert diese Datei tatsächlich? Wurde es schon einmal zum Repo hinzugefügt?
– Tom Harrington
5. Dezember 2014 um 23:19 Uhr
Die Datei ist vorhanden und neben ihr steht dieses “M”-Kennzeichen (geändert).
– Abdalrahman Shatou
5. Dezember 2014 um 23:55 Uhr
Ich habe das gleiche Problem (obwohl nicht auf die xcdatamodel-Datei beschränkt). Dies war der Top-Hit, nicht sehr hilfreich. Ich hoffe ich finde woanders eine Antwort.
– Matthew James Briggs
11. Dezember 2014 um 21:07 Uhr
@MatthewBriggs hast du es geschafft, einen zu finden?
– Abdalrahman Shatou
20. Dezember 2014 um 18:14 Uhr
@AbdalrahmanShatou Leider kann ich mich nicht erinnern, wie ich das gelöst habe, und ich glaube nicht, dass ich eine bestimmte Frage / Antwort zu diesem Problem gefunden habe. Meine beste Vermutung an dieser Stelle ist, dass ich das wahrscheinlich gelöst habe, indem ich von der Befehlszeile aus festgeschrieben habe. Meine Situation ist etwas anders, da ich Github verwende und ich glaube, ich habe tatsächlich einen Push/Pull-Roundtrip mit Github durchgeführt, um das Problem zu lösen.
– Matthew James Briggs
21. Dezember 2014 um 17:12 Uhr
Stan Smulders
Das Problem ist in der Tat die Änderung der Groß-/Kleinschreibung eines Dateinamens. Bei mir lag das an meinem Macbook/OSX. Anscheinend hat Windows das gleiche “Ding”.
Weil: Git ist nicht in der Lage, eine Änderung von „Dateiname“ zu „Dateiname“ zu erkennen.
Hier ist eine Liste von Lösungen für alle, die darüber stolpern. Alle Lösungen sollten im Projektstamm ausgeführt werden:
Die permanente Lösung, die bei aktuellen und zukünftigen Projekten funktioniert
Ändern Sie die Git-Case-Einstellung. Die Datei sollte danach übergeben werden
git config core.ignorecase false --global
Das Projekt nur fix
git config core.ignorecase false
Das Geben Sie mir einfach eine Codezeile, damit ich weitermachen kann fix – Gutschrift an Bruce
git commit -a -m "pathspec did not match any file(s) known to git fix"
Das Ich werde stundenweise bezahlt Fix
Delete the file. Commit. Push. Add the file again. Commit. Push.
Je nach Ihren Anforderungen möchten Sie möglicherweise die Einstellungen zurücksetzen. Tun:
git config core.ignorecase true
Git erstickt an der Groß- und Kleinschreibung des Dateinamens, ist eine Möglichkeit, diese Fehlermeldung zu erhalten, aber in meinem Fall hatte Xcode zwei zusätzliche Dateien in seiner Commit-Liste und das Commit von der Befehlszeile aus hat es behoben. Ich glaube nicht, dass Sie Recht haben, wenn Sie sagen, was “das Problem” für alle Leute mit diesem Fehler ist.
– Ed Norris
26. Oktober 2015 um 5:00 Uhr
Ich habe das Problem einfach gelöst, indem ich XCODE geschlossen und erneut geöffnet habe. Ich weiß, es ist keine coole Lösung, aber es hat ohne Änderungen an irgendwelchen Dateien meinerseits funktioniert.
Die akzeptierte Antwort funktionierte – EINMAL – für mich. Irgendwelche Modifikationen danach? Nö. Dieser scheint der beste zu sein. Ich stimme zu, keine coole Lösung. Vielleicht wird das nächste Woche (WWDC 2020) besser gelöst.
– Benutzer7014451
14. Juni 2020 um 17:26 Uhr
Hat so gut funktioniert! Vielen Dank!
– Jamryū
12. Februar 2021 um 5:16 Uhr
Anand Yadav
Ich habe den gleichen Fehler mit xcode 9.1. Ich habe es durch manuelles Commit vom Terminal gelöst. Die Schritte sind wie folgt
in Ihren Projektordner/Verzeichnis verschieben
$ git status – Sie erfahren, welche Änderungen an Ihrem Projekt vorgenommen wurden
$git hinzufügen.
$ git commit -m”Ihre Nachricht”
$ git push Ursprungsmeister
Sobald Sie alle Änderungen erfolgreich manuell vom Terminal übernommen haben, können Sie die Quellcodeverwaltung in xcode verwenden.
Dies ist kein richtiger Weg, um das Problem zu lösen, aber es ist eine Problemumgehung, die anderen helfen kann … Führen Sie dies in Ihrem Terminal aus:
git commit -m "<message>" <project dir>
Ersetzen Sie durch Ihre Nachricht und durch das Verzeichnis Ihres Projekts.
Benutzer3757614
Git mag keine Umbenennungen, bei denen sich Quelle und Ziel nur von Fall zu Fall unterscheiden. (Windows-spezifisch) Siehe Wie übertrage ich Dateinamenänderungen in Git, bei denen nur die Groß-/Kleinschreibung beachtet wird? für Lösungen.
Bruce Calvert
Dies ähnelt der Antwort von tf.alves, aber normalerweise mache ich eine
git commit -a -m "comment"
Ich habe festgestellt, dass, wenn ich die Parameter -a und -m vergesse, die oben erwähnte Fehlermeldung “pathspec” angezeigt wird.
Skyborg
Ich habe diesen Fehler in Xcode erhalten, habe Xcode einfach neu gestartet und dann erneut festgeschrieben.
13113800cookie-checkXcode – Fehler: pathpec ‘…’ stimmt mit keiner Datei(en) überein, die Git bekannt sindyes
Sie müssen keine besonderen Schritte mit Git unternehmen, um mit Core Data-Modellen umzugehen. Sie sind nicht einmal binär, sodass sie wie jede Quelldatei festgeschrieben, verfolgt und verglichen werden können. Existiert diese Datei tatsächlich? Wurde es schon einmal zum Repo hinzugefügt?
– Tom Harrington
5. Dezember 2014 um 23:19 Uhr
Die Datei ist vorhanden und neben ihr steht dieses “M”-Kennzeichen (geändert).
– Abdalrahman Shatou
5. Dezember 2014 um 23:55 Uhr
Ich habe das gleiche Problem (obwohl nicht auf die xcdatamodel-Datei beschränkt). Dies war der Top-Hit, nicht sehr hilfreich. Ich hoffe ich finde woanders eine Antwort.
– Matthew James Briggs
11. Dezember 2014 um 21:07 Uhr
@MatthewBriggs hast du es geschafft, einen zu finden?
– Abdalrahman Shatou
20. Dezember 2014 um 18:14 Uhr
@AbdalrahmanShatou Leider kann ich mich nicht erinnern, wie ich das gelöst habe, und ich glaube nicht, dass ich eine bestimmte Frage / Antwort zu diesem Problem gefunden habe. Meine beste Vermutung an dieser Stelle ist, dass ich das wahrscheinlich gelöst habe, indem ich von der Befehlszeile aus festgeschrieben habe. Meine Situation ist etwas anders, da ich Github verwende und ich glaube, ich habe tatsächlich einen Push/Pull-Roundtrip mit Github durchgeführt, um das Problem zu lösen.
– Matthew James Briggs
21. Dezember 2014 um 17:12 Uhr