Коммиты (commit)
В Git, коммит (или commit) — это ключевое понятие, представляющее собой снимок (snapshot) вашего проекта в определённый момент времени. Коммит фиксирует состояние файлов в репозитории, сохраняя изменения, которые были сделаны с момента последнего коммита.
Основные характеристики коммита
- Снимок изменений: Коммит сохраняет текущее состояние файлов в репозитории, создавая снимок всех отслеживаемых файлов.
- Уникальный идентификатор: Каждый коммит имеет уникальный SHA-1 хэш, который идентифицирует его. Этот хэш позволяет однозначно ссылаться на конкретный коммит.
- Сообщение коммита: Каждый коммит сопровождается сообщением, описывающим внесённые изменения. Это сообщение помогает понять, что было изменено и почему.
- Метаданные: Коммит включает информацию о времени создания, авторе и родительских коммитах (если есть).
Создание коммита
Процесс создания коммита в Git включает несколько шагов:
-
Добавление изменений в индекс (staging area): Перед тем как создать коммит, необходимо добавить изменения в индекс.
git add <файл> # Добавление конкретного файла git add . # Добавление всех изменений в текущей директории
-
Создание коммита: После добавления изменений в индекс, создайте коммит с помощью команды
git commit
.git commit -m "Сообщение коммита"
Опция
-m
позволяет указать сообщение коммита непосредственно в командной строке. Это сообщение должно быть информативным и описывать изменения, которые были внесены.
Пример использования
-
Просмотр текущего состояния репозитория:
git status
-
Добавление изменений в индекс:
git add example.txt
-
Создание коммита с сообщением:
git commit -m "Добавлен новый файл example.txt с примером использования"
Просмотр истории коммитов
Для просмотра истории коммитов в репозитории используйте команду git log
.
git log
Эта команда покажет список всех коммитов с их SHA-1 хэшами, авторами, датами и сообщениями коммитов.
Полезные команды
-
Просмотр краткой истории коммитов:
git log --oneline
-
Просмотр изменений, внесённых в конкретный коммит:
git show <SHA-1 хэш коммита>
-
Отмена последнего коммита (с сохранением изменений в рабочем каталоге):
git reset --soft HEAD~1
Примечание
Коммиты являются основным механизмом для сохранения изменений и ведения истории в Git. Они позволяют отслеживать, кто и когда внёс изменения, а также возвращаться к предыдущим состояниям проекта при необходимости.