Xcode - error: pathspec '...' не соответствует ни одному файлу, известному git
Я использую локальный репозиторий git. Когда я пытаюсь зафиксировать изменения в файле модели основных данных (.xcdatamodel), я получаю это сообщение:
error: pathspec '.../DataModel.xcdatamodeld/DataModel.xcdatamodel/contents' did not match any file(s) known to git.
Как исправить это и зафиксировать модель, как я делаю с любым другим файлом?
Ответы
Ответ 1
Выбранный ответ слишком специфичен для его собственного вопроса и дает нулевое представление о фактической причине. Проблема действительно в том, как упоминалось до изменения регистра имени файла. Лично для меня это из-за моего Macbook/OSX. Похоже, в Windows есть то же самое.
Причина: git не может распознать изменение с "имя файла" на "имя файла".
Вот список решений для тех, кто наткнулся на это. Все должно быть запущено в корне проекта:
Постоянное исправление, которое будет работать над текущими и будущими проектами
Измените настройки git case. Файл должен быть зафиксирован впоследствии
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.
В зависимости от ваших потребностей вы можете отменить настройки, например:
git config core.ignorecase true
Ответ 2
Вероятно, это не ваша проблема, но эта страница имеет высокий рейтинг Google для ошибки:
Git не любит переименовать, где источник и назначение различаются только в зависимости от случая. (Для Windows) См.
Как внести изменения в имена файлов только с учетом регистра в Git?
для решений.
Ответ 3
Это не правильный способ решить проблему, но это обходное решение, которое может помочь другим...
Сделайте это в терминале:
git commit -m "<message>" <project dir>
Замените свое сообщение и каталог вашего проекта.
Ответ 4
Это похоже на ответ tf.alves, но обычно я делаю
git commit -a -m "comment"
Я обнаружил, что если я забуду параметры -a и -m, которые получаю сообщение об ошибке: pathspec, упомянутое выше.
Ответ 5
Я удалил файл .xcdatamodel, зафиксировал, добавил его и совершил еще раз. Не чист, но работал.
Ответ 6
Я столкнулся с такой же проблемой после переименования файла раскадровки. Следующие шаги исправили это для меня -
- Очистить (Shift + Command + K)
- Сборка (Command + B)
- Фиксировать
Не уверен, но я думаю, что может быть, что git ссылается на старое имя файла и очищает папку сборки, а здание снова исправляет это.
Надеюсь, что это поможет!
Ответ 7
Я получил ту же ошибку, используя xcode 9.1.
Я решил его вручную с терминала.
Шаги выглядят следующим образом
- перейдите в папку/каталог проекта
Статус
- $git - вы узнаете изменения, внесенные в ваш проект.
- $git добавить.
- $git commit -m "ваше сообщение"
- $git нажмите начальный мастер
После того, как вы вручную выполнили все изменения с терминала, вы можете использовать управление источником в xcode.
Ответ 8
Я исправляю вот так:
- Перейдите в каталог вашего проекта с терминалом (консолью)
- Выполните команду: git status//это покажет вам неотслеживаемые файлы
- Добавьте все неотслеживаемые файлы с помощью этой команды: git add -A
- Вы можете зафиксировать с помощью исходного кода XCode, а затем нажмите.
Ответ 9
Я получил эту ошибку в XCode, просто перезапустил XCode, а затем подтвердил снова.
Ответ 10
Я получил эту ошибку в Xcode после того, как я изменил расширение файла на одном из моих файлов (изменил .txt на .json). Я решил это, щелкнув правой кнопкой мыши на файле, выбрав Source Control -> Commit Selected Files...
и выполнив только этот файл. После этого я смог вернуться к Source Control -> Commit
(из строки меню), а остальные файлы были успешно завершены.
Ответ 11
Это исправило это для меня. Удалите файл из своего проекта. Я перетащил его в другую папку. Затем я удалил ссылку, очистил проект, а затем построил проект.
Затем зафиксируйте и нажмите на git. Затем добавьте файл обратно, а затем снова зафиксируйте.
Ответ 12
Я исправил эту проблему, удалив локальный репозиторий проекта и воссоздав это.
удалите свой локальный (Xcode) и онлайн (Github,...) репозиторий, а также создайте новый репозиторий и снова внесите в него проект.
удалить git-репозиторий из вашего проекта:
1- откройте терминал и вставьте эту команду для включения показа скрытого файла в поисковике
defaults write com.apple.finder AppleShowAllFiles TRUE
killall Finder
2- откройте папку projet и удалите папку .git
3- перезапустите Xcode
Теперь создайте новый репозиторий git и зафиксируйте проект
Ответ 13
Я решил проблему, просто закрыв XCODE и открыв его снова.
Я знаю, что это не крутое решение, но оно работало без каких-либо изменений с моей стороны.