Подтвердить что ты не робот

Xcode - error: pathspec '...' не соответствует ни одному файлу, известному git

Я использую локальный репозиторий git. Когда я пытаюсь зафиксировать изменения в файле модели основных данных (.xcdatamodel), я получаю это сообщение:

error: pathspec '.../DataModel.xcdatamodeld/DataModel.xcdatamodel/contents' did not match any file(s) known to git.

Как исправить это и зафиксировать модель, как я делаю с любым другим файлом?

4b9b3361

Ответ 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

Я исправляю вот так:

  1. Перейдите в каталог вашего проекта с терминалом (консолью)
  2. Выполните команду: git status//это покажет вам неотслеживаемые файлы
  3. Добавьте все неотслеживаемые файлы с помощью этой команды: git add -A
  4. Вы можете зафиксировать с помощью исходного кода 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 и открыв его снова. Я знаю, что это не крутое решение, но оно работало без каких-либо изменений с моей стороны.