Ошибка с 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
А потом попробуйте снова добавить