Почему я получаю " 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 ответов:
это ошибка, которую вы получаете при попытке запустить
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, но к делу.
проблема: я добавил файл, который я позже переименовал.
устранение:
- Un-добавить старое имя файла
git reset HEAD oldFileName.file
- теперь добавьте новое имя файла
git add newFileName.file
- совершайте и будьте счастливы
у меня был этот неудачный сценарий фиксации из-за переименованного каталога.
это был первоначально созданный каталог с ошибкой заглавной буквы:
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. Вы можете использовать команды терминала, предоставленные в качестве ответа, но попробуйте этот более простой способ...
Управление Версиями - > Состояние Обновления
надеюсь, что это помогает. Ура!
при работе с терминала убедитесь, что у вас есть флаг сообщения в вашей команде.
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.
моя проблема заключалась в том, что я копировал / вставлял всю строку фиксации, и у нее были специальные символы, которые казались обычными символами в консоли (например: умные кавычки вместо обычных кавычек). Как только я вставил их в обычный текстовый редактор, я увидел их, исправил их, и это сработало.
У меня была такая же проблема с '.файл прав, удаление существующего файла и добавление его снова работали для меня.