Спецификатор пути не соответствует ни одному файлу

Обновлено: 04.07.2024

Я пытаюсь загрузить приложение Ruby в Heroku. Я начинаю с git init , затем набираю git add . , а затем использую git commit -m initial commit .

git commit error:pathspect 'commit' не совпадал ни с одним файлом(файлами), известным git.

Мне сказали, что это происходит потому, что аргументы находятся в неправильном порядке.

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

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

Я работаю над существующим проектом, который я взял на себя и продвигаю к git. По нескольким причинам мне пришлось изменить версию rails с 4.0 на 3.2.6 и использовать существующие файлы проекта из учебника, загрузив их и заменив ими мою локальную папку приложения. Теперь я не могу перейти к своему.

У меня возникли проблемы с Git РЕПО, Cocoa стручками и Xcode 9. После создания проекта Xcode и добавления фреймворков pod я получаю эту ошибку при попытке импорта в систему управления версиями и Github: Рабочая копия ProjectX не смогла зафиксировать файлы. ошибка: pathspec 'path/to/pod/files' не.

Аргументы командной строки разделены пробелом. Если вы хотите предоставить аргумент с пробелом в нем, вы должны процитировать его. Поэтому используйте git commit -m "initial commit" .

Я просто хотел бы добавить--

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

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

git commit -m 'initial commit'

git commit -m "initial commit"

Это произошло со мной при фиксации(коммита) с Xcode 6, после того как я добавил каталог файлов и подкаталогов в папку проекта. Проблема заключалась в том, что в листе фиксации(коммита) на левой боковой панели я поставил галочку не только в корневом каталоге, который я добавил, но и во всех его потомках. Чтобы решить эту проблему, я поставил галочку только в корневом каталоге. Это также совершило все потомки, по желанию, без ошибок.

Это произошло со мной при фиксации(коммита) с Xcode 6, после того как я добавил каталог файлов и подкаталогов в папку проекта. Проблема заключалась в том, что в листе фиксации(коммита) на левой боковой панели я поставил галочку не только в корневом каталоге, который я добавил, но и во всех его потомках. Чтобы решить эту проблему, я поставил галочку только в корневом каталоге. Это также совершило все потомки, по желанию, без ошибок.

Пожалуйста, обратите внимание, что в windows очень важно, чтобы в git commit -m "initial commit" были начальные тексты фиксации(коммита) в двойных кавычках. Одинарные кавычки вызовут ошибку спецификации пути.

В моем случае проблема заключалась в том, что я использовал неправильный псевдоним для git commit -m . Я использовал псевдоним gc , который не означал git commit -m

если есть кто-либо,использующий python os для вызова git, вы можете использовать os.system('git commit-m " '+str(комментарий)+'"')

Я столкнулся с той же проблемой. мой синтаксис не имеет никаких проблем. Я обнаружил, что скопировал и вставил git commit-m "comments" из своей записки. Я перепечатываю его, команда выполняется без проблем. Оказывается, что - и "" - это проблема, когда я копирую вставку в terminal.

Когда я запускаю новую версию 2.13.0.windows.1 своей новой команды stash -p -- как git stash -p -- AB.Dir1/Dir2/DestinationHierarchyCreator.cs , она сообщает об ошибке ошибка: pathspec 'AB.Dir1/Dir2/DestinationHierarchyCreator.cs' не соответствует ни одному файлу(файлам), известному.

Похожие вопросы:

Я новый пользователь Git. Я раздвоил хранилище под названием Spoon-Knife (доступно для практики раздвоения с Git). Затем я клонировал его локально, запустив git clone.

Когда я пытаюсь зафиксировать изменения в своем проекте с помощью встроенных опций RubyMine git | add и git | commit, я постоянно получаю фатальные ошибки, такие как: Error:error: pathspec.

Я строю ROM, но мне нужна фиксация(коммит) в репо /frameworks/base . Поэтому я git fetch репо Github, а затем набираю git commit xxxxx , но вывод получается: ошибка: pathspec xxxxx не.

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

У меня возникли проблемы с Git РЕПО, Cocoa стручками и Xcode 9. После создания проекта Xcode и добавления фреймворков pod я получаю эту ошибку при попытке импорта в систему управления версиями и.

Когда я запускаю новую версию 2.13.0.windows.1 своей новой команды stash -p -- как git stash -p -- AB.Dir1/Dir2/DestinationHierarchyCreator.cs , она сообщает об ошибке ошибка: pathspec.

Устанавливать Локальный нормальный репозиторий ( git init ), git version 2.17.0.windows.1 Голый репозиторий ( git init --bare ) на отдельном сервере git version 2.7.4 Гоги как UI на голый.


Рейтинг:

Я только начал изучать GIT. Следуйте их руководству.

Вот в самом начале я застрял с такой ошибкой:

Вот скриншот моей процедуры и команд:


Что я здесь делаю не так?

  • Не обязательно в вашем случае, вы можете увидеть это с помощью git 1.8.5 на первом в пустом репо. Это исправляется: см. Мой ответ ниже

Файлы не существуют, поэтому их нельзя добавить. Сначала убедитесь, что файлы были созданы.

Чтобы добавить файл в git, он должен существовать. не создает файл, но сообщает git, что он должен добавить его в текущую ветку, в которой вы находитесь, и отслеживать ее.

В настоящее время у вас нет отслеживаемых файлов, как видно из вашей команды . Чтобы отслеживать все файлы из мой проект каталог, выполните . Это добавит все файлы из этого каталога.

Далее, если у вас нет желаемого file.txt, просто создайте текстовый файл и запустите . Он должен показать вам, что у вас нет отслеживаемого file.txt файл, который впоследствии можно добавить в git, используя .

См. Commit 64ed07c Нгуен Тхай Нгук Дуй ():

: не жалуйтесь при добавлении пустого корня проекта

Это поведение было добавлено в 07d7bed (: не жалуйтесь при добавлении пустого корня проекта - 2009-04-28, git 1.6.3.2)
затем сломан 84b8b5d (удалить в пользу - 2013-07-14, git 1.8.5).

Мы пытаемся предупредить пользователя, если один из его путей не привел к совпадению, поскольку это могла быть опечатка. Однако мы отключаем предупреждение, если путь указывает на существующий файл, поскольку это означает, что это не опечатка, а просто пустой каталог.

К сожалению, тест был нарушен из-за одного особого случая: путь к корню проекта был просто "".
Этот патч обнаруживает этот особый случай и действует так, как будто файл существует (что он должен, так как это корень проекта).

Видимый пользователем эффект заключается в следующем:

В грядущем git 1.9 / 2.0 (первый квартал 2014 г.) это снова молчаливый отказ.

Но возникла следующая ошибка:

Как видите, команда прерывается между представлением и контроллерами, потому что есть пробел.

Мне просто пришлось заключить свой путь в двойные кавычки. Обычно в этом нет необходимости, но когда у вас есть пробелы, вам нужно.

У меня была та же проблема, потому что имя файла уже добавлено с расширением .txt, а вы явно добавляете дополнительный .txt. Вы можете попробовать это:

Чтобы добавить файл в git, он должен существовать. не создает файл, а сообщает git, что он должен добавить его в текущую ветку, в которой вы находитесь, и отслеживать ее. Итак, вы должны создать новый файл в командной строке:

После этого вы добавляете:

Я тоже зациклился на этом. Решение: а) Сначала создайте любой текстовый файл, скажем "Readme.txt"

б) Скопируйте этот текстовый файл в локальное репозиторий git (папку), например - C: / store

c) Перейдите в командную строку Windows, если вы находитесь в Windows (введите "cmd" в строке поиска, когда вы нажмете кнопку окна)

г) перейдите в локальное репозиторий git. введите ** echo hello> Readme.txt ** ---> C: \ admin \ store> echo hello> Readme.txt

echo hello - это команда dos, которая показывает текст состояния вывода на экран или в файл.

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

сначала создайте файл .txt и правильно укажите путь! пусть есть

(Не только для этого, для любой команды git для изменения промежуточной области напишите полный путь к имени файла с переадресацией косой черты после команды)

если ваш файл находится на рабочем столе, то

Ну вот! Очень простой. Необходимо вручную поместить файл .txt в указанную папку pwd .

suumapat @ SUUMAPAT-IN MINGW64

suumapat @ SUUMAPAT-IN MINGW64

/ newproject (master) $ dir

suumapat @ SUUMAPAT-IN MINGW64

/ newproject (мастер) $ pwd / c / Users / suumapat / newproject

suumapat @ SUUMAPAT-IN MINGW64

/ newproject (master) $ dir abc.txt

suumapat @ SUUMAPAT-IN MINGW64

/ newproject (master) $ git add abc.txt

У меня была такая же проблема, но с файловой системой Windows. Вот мое решение, которое сработало.

из каталога проекта git. Вот именно то, что отображалось в текущем каталоге.

D: \ Projects \ ReactNative \ project> git add "scr / \ components / \ validate.js"

В git вводится файл validate.js. Он находился в каталоге проекта. Этот каталог был src \ components.

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


Просто укажите путь к файлу при добавлении файла в команду git add, у меня это работает

$ git add mainFolder /. / file.extension

Примечание: mainFolder будет папкой внутри вашего репо.

Эта ошибка возникает из-за того, что файл, который вы добавляете в репозиторий, не создается. Сначала создайте файл, а затем добавьте его в область подготовки:

Новый участник Vishak k v - новый участник этого сайта. Позаботьтесь о разъяснениях, комментариях и ответах. Ознакомьтесь с нашим Кодексом поведения.

Вы пытаетесь перечислить файлы, которые находятся в этой фиксации, или пытаетесь проверить эту фиксацию и работать с этими файлами?

Ответы 2

Когда ты сказал

затем вы проверяете фиксацию, которая составляет 2 фиксации за HEAD, который является главой ветки. Вероятно, вам просто нужна приведенная выше команда.

2, but only for the file called "Finished 1 stage"

I'm trying to get files from commit "Finished 1 stage"

В Git коммиты - это пронумерован, как большое длинное уродливое число шестнадцатеричный. То, что git checkout или git restore на самом деле потребности, здесь - это номер коммита. Итак, на исходном уровне вы можете написать:

Это означает переключиться на эту (целую) фиксацию (как «отделенную ГОЛОВУ»); тогда ваше рабочее дерево будет состоять из файлов из этого коммита, а также любых неотслеживаемых файлов, которые Git не трогает и которые остались на месте до этого.

Если вам нужен только конкретные файлы из этого конкретного коммита, лучший - как и самый безопасный - способ выразить это:

например. Обратите внимание, что этот запрос означает, что уничтожить любую несохраненную работу в этих двух файлах и Git сделает это без запроса. Здесь два дефиса, -- , отделяют спецификатор фиксации a123456 от двух имен путей. Если вы пропускать два тире, Git примет их, пока имена файлов не похожи на спецификаторы опций или аналогичные. Например, предположим, что вы хотите получить файл с именем -b . Имя -b также выглядит как вариант -b . Два тире помогают Git быть уверенным, что что-то является является параметром (если оно находится слева от -- ) или не является параметром (если оно находится справа от -- ).

Теперь эти большие уродливые хеш-идентификаторы трудно вводить. Вы можете использовать git log , чтобы найти нужную фиксацию, а затем с помощью мыши вырезать и вставить идентификатор хэша. Но это все равно не очень красиво. Иногда было бы неплохо использовать что-то другое, кроме большого уродливого хеш-идентификатора или даже сокращенного, например a123456 . Использование HEAD

2 - это способ избежать ввода хеш-идентификатора.

2 имена, эта фиксация - а это возможно - тогда HEAD

2 - это все, что тебе нужно, а это все, что вы должны ввести. Текст темы коммита, например «Завершено 1 этап», здесь не следует включать.

Чтобы увидеть идентификатор хэша от HEAD

2 , вы можете запустить git rev-parse . Эта команда не так уж и интересна, за исключением демонстрации того, как git checkout превращает строку HEAD

2 в хэш-идентификатор:

(ваши результаты будут отличаться). Чтобы лучше рассмотреть коммит, рассмотрите возможность использования git show :

(вывод сюда не включен).

2 достаточно, вам, вероятно, следует просто использовать его.

1 Есть особый случай для файлов, которые вы изменили, но еще не зафиксировали. Для получения подробной информации см. Оформить заказ в другой ветке, если в текущей ветке есть незафиксированные изменения.

ОТВЕТЫ

Ответ 1

Выбранный ответ слишком специфичен для его собственного вопроса и дает нулевое представление о фактической причине. Проблема действительно в том, как упоминалось до изменения регистра имени файла. Лично для меня это из-за моего Macbook/OSX. Похоже, в Windows есть то же самое.

Причина: git не может распознать изменение с "имя файла" на "имя файла".

Вот список решений для тех, кто наткнулся на это. Все должно быть запущено в корне проекта:

Постоянное исправление, которое будет работать над текущими и будущими проектами

Измените настройки git case. Файл должен быть зафиксирован впоследствии

Проект только исправляет

Просто дайте мне строку кода, чтобы я мог перейти к исправлению - кредит Брюсу

Я получаю почасовую починку

В зависимости от ваших потребностей вы можете отменить настройки, например:

Ответ 2

Вероятно, это не ваша проблема, но эта страница имеет высокий рейтинг Google для ошибки:

Git не любит переименовать, где источник и назначение различаются только в зависимости от случая. (Для Windows) См. Как внести изменения в имена файлов только с учетом регистра в Git? для решений.

Ответ 3

Это не правильный способ решить проблему, но это обходное решение, которое может помочь другим. Сделайте это в терминале:

Ответ 4

Это похоже на ответ tf.alves, но обычно я делаю

Ответ 5

Я удалил файл .xcdatamodel, зафиксировал, добавил его и совершил еще раз. Не чист, но работал.

Ответ 6

Я столкнулся с такой же проблемой после переименования файла раскадровки. Следующие шаги исправили это для меня -

  • Очистить (Shift + Command + K)
  • Сборка (Command + B)
  • Фиксировать

Не уверен, но я думаю, что может быть, что git ссылается на старое имя файла и очищает папку сборки, а здание снова исправляет это.

Надеюсь, что это поможет!

Ответ 7

Я получил ту же ошибку, используя xcode 9.1. Я решил его вручную с терминала. Шаги выглядят следующим образом

После того, как вы вручную выполнили все изменения с терминала, вы можете использовать управление источником в 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- откройте терминал и вставьте эту команду для включения показа скрытого файла в поисковике

2- откройте папку projet и удалите папку .git

3- перезапустите Xcode

Теперь создайте новый репозиторий git и зафиксируйте проект

Ответ 13

Я решил проблему, просто закрыв XCODE и открыв его снова. Я знаю, что это не крутое решение, но оно работало без каких-либо изменений с моей стороны.

Читайте также: