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


У меня возникли некоторые проблемы с ЖКТ.

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

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

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

16 58

16 ответов:

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

git commit <file>

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

git add application/libraries/Funder.php

затем попробуйте совершить.

причина, по которой происходит эта ошибка, указана в этом сообщении:https://stackoverflow.com/a/29485441/2769415

решение: Переименуйте файл обратно в исходный, затем переименуйте его в другое имя, а затем обратно в файл с правильной заглавной буквой. 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.

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

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

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

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

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

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

устранение:

  1. Un-добавить старое имя файла

git reset HEAD oldFileName.file

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

git add newFileName.file

  1. совершайте и будьте счастливы

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

это был первоначально созданный каталог с ошибкой заглавной буквы:

application/Templates/lists/index.html

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

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

ошибка фиксации с ошибкой: pathspec "приложение / шаблоны / списки / индекс.html " не соответствует ни одному файлу(ам) как известно, ЖКТ.

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

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/

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

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

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

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

iOS 9.2.1, Xcode 7.2.1, ARC enabled

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

Управление Версиями - > Состояние Обновления

enter image description here

надеюсь, что это помогает. Ура!

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

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

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

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

с XCode 7.3 я переименовал файл, о котором идет речь, в FooBar.foo.tmp, а затем совершил один раз XCode / git добавил этот новый файл и установил старый, который будет удален. После того, как я совершил, то я переименовал его обратно (в XCode). Теперь все в порядке. C'est la vie.

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

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

У меня была аналогичная проблема с фиксацией удаленных файлов с помощью SourceTree в Mac. Один из проблемных файлов имел акценты (áéíóú...). Для его решения мне пришлось использовать терминал, а не SourceTree

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