Почему я получаю сообщение "Commit failed with error: pathspec... не соответствует никаким файлам?"?

У меня возникают проблемы с Git.

У меня есть репозиторий, где я могу без проблем зафиксировать любой файл. Тем не менее, есть один файл "Funder.php", который, когда я пытаюсь совершить, сообщает мне, что есть ошибка:

Commit failed with error:
pathspec 'application/libraries/Funder.php' did not match any file(s) known to git.

Я совершенно новичок в этом, так было интересно, может ли кто-нибудь помочь?

Ответ 1

Это ошибка, которую вы получаете при попытке запустить

git commit <file>

но <file> еще не был поставлен; Другими словами, Git пока не сказано об этом. Скорее всего, это происходит здесь. Run

git add application/libraries/Funder.php

затем попытайтесь зафиксировать.

Ответ 2

Причина этой ошибки указана в этом сообщении: fooobar.com/questions/50387/...

Решение: Переименуйте файл обратно в исходное, затем переименуйте его на другое имя, затем вернитесь к тому, у которого есть правильная заглавная. Git больше не будет бросать ошибку.

Пример:

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.

Ответ 3

У меня была такая же проблема в Android Studio после переименования некоторых действий. Я попытался добавить (git добавить) и переместить (git mv) файлы, но так и не помог, и я получал одно и то же сообщение снова и снова.

Наконец, я решил создать резервную копию классов в пакете с файлом проблем в отдельной папке на моем жестком диске, затем я удалил файлы из исходной папки и в терминале, который я сделал:

rm app/src/main/java/com/path/to/package/with/problematic/files/

Затем воссоздал удаленный пакет через Android Studio и скопировал и вставил мои классы туда. После этого я смог совершить без каких-либо проблем.

Ответ 4

Вот краткий ответ на самый быстрый способ решить эту проблему. Подобно сообщению @cmbind55, но к точке.

Проблема: Я добавил файл, который позже переименовал.

Решение:

  • Отменить добавление старого имени файла

git reset HEAD oldFileName.file

  1. Теперь добавьте новое имя файла

git add newFileName.file

  1. Обязательно и будьте счастливы.

Ответ 5

У меня был этот неудачный сценарий фиксации из-за переименованного каталога.

Это был исходный каталог с ошибкой капитализации:

application/Templates/lists/index.html

В среде IDE я согласился добавить этот файл в существующий репозиторий git. В более позднем тестировании я обнаружил, что у меня возникла проблема с вопросом с учетом капитализации "Шаблоны". В среде IDE я просто переименовал каталог в "шаблоны" (изменен на нижний регистр). Я не записывал фактическую последовательность событий вокруг этого, но позже, когда мой коммит завершился с сообщением, у меня возникло подозрение, что это была эта проблема. По-видимому, IDE не полностью справилась с этим случаем переименования каталога.

Сообщение об ошибке фиксации IDE:

Ошибка коммита с ошибкой: pathspec "application/templates/lists/index.html" не соответствует ни одному файлу, известный как git.

После некоторого чтения моя стратегия заключалась в том, чтобы вернуть файл и снова добавить его. Я заблокировал подозрительный файл

git reset HEAD lists/Templates/lists/index.html

Примечание. git статус показывал только каталог здесь... Не файл.

Untracked files:
  (use "git add <file>..." to include in what will be committed)

    lists/templates/

Затем я добавил обратно исправленное имя каталога (я использовал только путь для добавления, следуя примеру git).

git add lists/templates/

После этого мое совершение преуспело. Я не уверен, что это был идеальный метод, но он разрешил ошибку фиксации в моем случае.

Ответ 6

У меня была такая же проблема. просто измените "Исходные одиночные кавычки комментариев" на двойные кавычки ""

Ответ 7

У меня была аналогичная проблема, но она была исправлена. Я должен был использовать "" вместо '' в командной строке Windows

Ответ 8

У меня была та же проблема. Ни один из ответов здесь не помог мне решить проблему. После того, как я застрял в течение двух дней, я обратил внимание, что все имя файла с дорогой очень длинное. Я сделал рефакторинг, переименовав его на что-то менее сложное и переставив папки, чтобы уменьшить полную длину имени файла, и это сработало!

Ответ 9

iOS 9.2.1, Xcode 7.2.1, ARC включен

Включите это, изменив файл "contents.json" для моего каталога активов LaunchImage. Вы можете использовать команды терминала, предоставленные в качестве ответа, но попробуйте этот более простой способ...

Контроль источника → Статус обновления

введите описание изображения здесь

Надеюсь, это поможет. Ура!

Ответ 10

У меня была такая же проблема со словом "сертификат" как имя пакета... когда я переименовал пакет в "сертификаты", он просто работает... странно..

Ответ 11

если вы работаете с терминалом, убедитесь, что у вас есть флаг сообщения в вашей команде.

git commit "Your Commit Message" //Throws an error: pathspec '3.

git commit -m "Your Commit Message" //No error thrown

Ответ 12

С XCode 7.3 я переименовал этот файл в FooBar.foo.tmp, а затем совершил один раз, когда XCode/ git добавил этот новый файл и установил старый, который нужно удалить. Как только я набрал, я переименовал его обратно (в XCode). Теперь все хорошо. Такова жизнь.

Ответ 13

Моя проблема заключалась в том, что я копировал/вставлял всю строку фиксации, и у нее были специальные символы, которые казались нормальными символами в консоли (например: умные кавычки вместо обычных котировок). Как только я вложил их в текстовый редактор, я увидел их, исправил их, и это сработало.

Ответ 14

У меня была такая же проблема с файлом .entitlements, удалением существующего файла и добавлением его снова работала для меня.

Ответ 15

У меня была аналогичная проблема с удалением файлов с помощью SourceTree в Mac. В одном из проблемных файлов были акценты ( "..." ). Чтобы решить эту проблему, мне пришлось использовать терминал, а не SourceTree

Ответ 16

Я испытал это, по ошибке создав ветку в другом репо на BitBucket, поэтому убедитесь, что вы находитесь в правильном репо и что там существует ветка.