Ошибка с git: "уже существует и недействительна git repo"

Это означает, что я не могу этого сделать:

 git submodule add -f [email protected]:thephpleague/oauth2-server.git libs/OAuth/functions

Из-за этого:

'libs/OAuth/functions' уже существует и не является допустимым git repo

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

Я также пробовал это:

git ls-files --stage functions

Когда я был внутри libs/OAuth, и я ничего не получил.

Затем я попробовал это:

sudo git rm --cached functions

Я получил эту ошибку:

fatal: pathspec 'functions' did not match any files

Я также пробовал это:

sudo git rm -r --cached functions

И получил ту же самую предыдущую ошибку.

Ответ 1

Даже если папка не существует, проверьте статус индекса:

cd libs/OAuth
git ls-files -- functions

Если есть запись, зарегистрированная в индексе, вам нужно будет удалить ее, прежде чем сможете добавить ваш subppos в качестве подмодуля.
(как объясняется в Проблема с добавлением общего кода в виде git подмодуля: "уже существует в индексе" ")

Все это предполагает, что вы находитесь в корневой папке клонированного в настоящее время репо, который будет выступать в роли родительского репо любого субмодуля, который вы объявляете.

Ответ 2

В случае, если у кого-то был такой же случай, как у меня, и он боролся с этим, как я, по глупой причине:

Проверьте, не существует ли файл по какой-либо причине (ранее я не смог добавить подмодуль git)

Итак, в контексте вопроса рм файл:

rm -rf libs/OAuth/functions

А потом попробуйте снова добавить