🐛 Типичные ошибки: Введение в Git

К оглавлению урока

⚡ Топ-3 ошибки новичков

  1. Коммит без git add — файлы не попадают в коммит.
  2. Не настроены user.name и user.email — коммит отклоняется.
  3. Неправильный адрес remote (git remote add origin ...) — push не работает.

Ошибка 1: Забытый git add перед коммитом

Симптом: После git commit -m "..." видите сообщение «nothing to commit, working tree clean» — но вы точно создали файл!

Причина: Git не включает файлы в коммит автоматически. Сначала нужно добавить их в staging area командой git add.

# Неправильно (файл не попадёт в коммит):
echo "hello" > file.txt
git commit -m "Add file"
# Ошибка: nothing to commit

# Правильно:
echo "hello" > file.txt
git add file.txt        # <-- обязательный шаг!
git commit -m "Add file"

Запомните цикл: add → commit → push. Пропуск add — самая распространённая ошибка.

Ошибка 2: Коммит без флага -m

Симптом: Запускаете git commit без -m — открывается текстовый редактор (vi или nano), и вы не знаете, что делать.

Причина: Git требует сообщение к каждому коммиту. Без флага -m он открывает редактор для ввода сообщения.

# Если открылся vi: нажмите i, введите сообщение, Esc, :wq
# Если открылся nano: введите сообщение, Ctrl+O, Enter, Ctrl+X

# Чтобы избежать: всегда используйте флаг -m:
git commit -m "Описательное сообщение коммита"

Ошибка 3: Путаница между Git и GitHub

Симптом: Студент думает, что git init создаёт репозиторий на GitHub, или что нужен интернет для работы с Git.

Причина: Git и GitHub — разные вещи. Git работает полностью локально.

  • git init — только создаёт локальный репозиторий на вашем компьютере.
  • Для публикации на GitHub нужен дополнительный шаг: git remote add origin URL и git push.
  • Можно пользоваться Git без GitHub вообще (например, только локально или с GitLab).

Ошибка 4: Не настроены user.name и user.email

Симптом: При попытке git commit получаете ошибку:

Author identity unknown

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

Решение: Выполнить настройку один раз:

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

Ошибка 5: Неправильный адрес репозитория для git remote

Симптом: После git push получаете ошибку «Repository not found» или «Permission denied (publickey)».

Причина: Неправильно указан URL репозитория в git remote add origin, или не добавлен SSH-ключ на GitHub.

# Проверить текущий remote:
git remote -v
# Если URL неверный, изменить:
git remote set-url origin git@github.com:USERNAME/REPO.git

# Проверить SSH-соединение:
ssh -T git@github.com

Ошибка 6: Отсутствие файла в папке при git add

Симптом из лекции: Команда git add ИМЯ_ФАЙЛА не находит файл — потому что фотография не скопирована в папку репозитория.

Решение: Сначала скопируйте файл в директорию репозитория, затем выполняйте git add:

# Скопировать файл в директорию репозитория
cp /path/to/photo.jpg ./git_intro/

# Перейти в директорию репозитория
cd git_intro

# Теперь git add найдёт файл
git add photo.jpg