Git больше не идентифицируется терминалом

#git #github

Вопрос:

Я работал над проектом уже много недель, и у меня возникла эта ошибка при попытке добавить новые изменения в git, внезапно:

 fatal: not a git repository (or any of the parent directories): .git
 

Мой терминал больше не распознает мой проект как репозиторий git, поэтому он не выполняет команды git. Я знаю, что мог бы создать новый, запустив git init, но перезапустит ли это весь прогресс моей ветви на Github с нуля, если я его нажму? Если да, то есть ли еще способ продвинуть его, не сбившись с пути?

Комментарии:

1. В корневом каталоге должна быть своя .git папка. Он все еще здесь?

2. В каком каталоге находится ваше хранилище? Какой каталог является текущим каталогом в вашем терминале?

3. @RomainValeri В моем локальном корневом репозитории нет папки git. Только файл .gitattributes. Но все равно, это работало все время, до сих пор. Я не помню, чтобы удалял что-либо, связанное с этим.

4. @JoachimSauer Я нахожусь в нужной папке проекта. Оттуда я могу запустить его локально.

Ответ №1:

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

Что решило это для меня, так это то, что вместо того, чтобы клонировать его с помощью URL-адреса HTTPS, как обычно, я использовал SSH (который защищен паролем с помощью ключа SHH). С помощью этого я внес необходимые изменения и переместил его в существующий репозиторий, вместо того, чтобы инициализировать новый и потерять историю фиксаций.

Это должно быть проблемой, связанной с системой аутентификации токенов, предоставляемой Github: https://github.blog/2020-07-30-token-authentication-requirements-for-api-and-git-operations/

Надеюсь, это сработает и для вас. Дай мне знать.

Комментарии:

1. Вот и все! Я видел эту статью раньше, но все еще ничего не понимал. Не понимал, что метод клонирования SHH заставит git распознать мой клонированный проект, учитывая, что в моей древовидной структуре нет папки git. Это сэкономило мне много времени. Большое спасибо!

Ответ №2:

Причиной проблемы может быть то, что

  • Проект, над которым вы работаете, вообще не является проектом с версией git.
  • Возможно, вы находитесь в более высокой папке для своего пути к проекту, которая не является папкой с версиями git.

Что нужно попробовать:

  • Если проект не git-версия. Перейдите в корневую папку проекта и выполните git init и git add . и git commit -m "Initial commit" , и ваш проект будет иметь версию git.
  • Перейдите в корневую папку проекта, а затем попробуйте выполнить команды git.

Комментарии:

1. Как я уже сказал, я не уверен, что хочу это делать, потому что я думаю, что это может перезаписать мой существующий проект GitHub с нуля.

2. ПРИМЕЧАНИЕ: Создайте копию кода, прежде чем пытаться это сделать. Если ваш проект github имеет некоторую историю, то вы можете зафиксировать свои текущие изменения в одном коммите. Одна вещь, которую вы можете попробовать, — это оформить проект с github в отдельной папке, а затем скопировать папку .git из текущей проверки в проект, над которым вы работаете, и посмотреть, поможет ли это.

3. Также это зависит от того, сколько вы зафиксировали локально и не синхронизировали с удаленным репо.

4. Я не могу найти ни одной папки git в своем проекте, даже после запуска ls-la. И он все еще работал нормально. Внезапно после нескольких недель работы с кодом это «не репозиторий git».