Что такое коммит (commit) в системе контроля версий Git?

Ответ

Коммит (commit) в Git — это основная единица истории проекта; по сути, это «снимок» (snapshot) состояния всех отслеживаемых файлов в репозитории в определенный момент времени.

Из чего состоит коммит:

  • Уникальный хеш (SHA-1): Идентификатор коммита, например a1e8fb5.
  • Указатель на родительские коммиты: Обычно один, но может быть несколько (в случае слияния веток).
  • Метаданные: Имя автора, email, дата и время создания.
  • Сообщение коммита: Описание сделанных изменений.

Пример жизненного цикла коммита:

# 1. Добавляем измененные файлы в staging area (индекс)
git add . 

# 2. Фиксируем изменения, создавая новый коммит
git commit -m "feat: Add user authentication endpoint"

Ключевые принципы работы с коммитами:

  • Атомарность: Один коммит должен содержать одно логическое изменение. Это упрощает отладку, ревью кода и откат изменений.
  • Неизменяемость: Существующие коммиты нельзя изменить. Можно лишь создать новые поверх старых (например, с помощью git rebase или git commit --amend), но это создаст новую историю.
  • Информативные сообщения: Качественное сообщение коммита — залог понятной и поддерживаемой истории проекта.

Для просмотра истории коммитов используется команда git log.