Ошибка fatal: not a git repository
fatal: not a git repository (or any of the parent directories): .gitGit не нашёл репозиторий: ни в текущей папке, ни в одной из папок выше нет подпапки .git. Почти всегда это значит, что терминал открыт не в папке проекта.
Что делать
Случаев три: проект уже работал с Git (его клонировали или в нём делали коммиты), проект новый, или вы точно в папке проекта, а ошибка не уходит.
Проект уже в Gitперейдите в его папку
pwd
cd ~/projects/todo
git statuspwd показывает, где вы сейчас. Перейдите командой cd в папку, где лежит проект (у вас свой путь), и повторите команду. В Windows путь в Git Bash выглядит так: cd /c/Users/ivan/projects/todo. Есть и способ без пути: откройте папку проекта в Проводнике и выберите в контекстном меню «Open Git Bash here» (в Windows 11 он может быть в разделе «Показать дополнительные параметры»).
После git clone нужно ещё зайти в созданную папку: git clone адрес создаёт подпапку с именем проекта, а терминал остаётся там, где был.
git clone https://github.com/ivan/todo.git
cd todoПроект новыйсоздайте репозиторий
Если Git в проекте ещё не включали, создайте репозиторий в папке проекта:
cd ~/projects/todo
git initНе запускайте git init в домашней папке, на рабочем столе или в корне диска, чтобы «ошибка пропала»: Git начнёт следить за всеми файлами в них, а каждый проект внутри окажется частью одного огромного репозитория.
Вы в папке проекта, а ошибка осталасьпроверьте папку .git
Папка .git скрытая: в Проводнике и файловых менеджерах её не видно без показа скрытых файлов, а в терминале её показывает ls -a. Если её действительно удалили, вместе с ней пропала вся история — восстановить её можно только из копии: склонировать проект с сервера заново или взять папку из резервной копии.
Похожая ошибка: dubious ownership
fatal: detected dubious ownership in repository at '/srv/project'Это другая ошибка: репозиторий есть, но принадлежит другому пользователю системы (например, папка создана от root или скопирована с другого диска). Git не работает в чужих репозиториях ради безопасности. Если репозиторий ваш и вы ему доверяете, Git сам подсказывает команду — добавить папку в список доверенных:
git config --global --add safe.directory /srv/projectЛучше же вернуть папке правильного владельца — в Linux это делает chown (подробнее о правах — в теме Ubuntu).
Подводные камни
- Запускать команду из другой папки можно ключом
-C:git -C ~/projects/todo status. - Где начинается репозиторий, в котором вы стоите, показывает
git rev-parse --show-toplevel.