Коммиты (commit)

Работа с коммитами в Git

В Git, коммит (или commit) — это ключевое понятие, представляющее собой снимок (snapshot) вашего проекта в определённый момент времени. Коммит фиксирует состояние файлов в репозитории, сохраняя изменения, которые были сделаны с момента последнего коммита.

Основные характеристики коммита

  1. Снимок изменений: Коммит сохраняет текущее состояние файлов в репозитории, создавая снимок всех отслеживаемых файлов.
  2. Уникальный идентификатор: Каждый коммит имеет уникальный SHA-1 хэш, который идентифицирует его. Этот хэш позволяет однозначно ссылаться на конкретный коммит.
  3. Сообщение коммита: Каждый коммит сопровождается сообщением, описывающим внесённые изменения. Это сообщение помогает понять, что было изменено и почему.
  4. Метаданные: Коммит включает информацию о времени создания, авторе и родительских коммитах (если есть).

Создание коммита

Процесс создания коммита в Git включает несколько шагов:

  1. Добавление изменений в индекс (staging area): Перед тем как создать коммит, необходимо добавить изменения в индекс.

    git add <файл>        # Добавление конкретного файла
    git add .             # Добавление всех изменений в текущей директории
    
  2. Создание коммита: После добавления изменений в индекс, создайте коммит с помощью команды git commit.

    git commit -m "Сообщение коммита"
    

    Опция -m позволяет указать сообщение коммита непосредственно в командной строке. Это сообщение должно быть информативным и описывать изменения, которые были внесены.

Пример использования

  1. Просмотр текущего состояния репозитория:

    git status
    
  2. Добавление изменений в индекс:

    git add example.txt
    
  3. Создание коммита с сообщением:

    git commit -m "Добавлен новый файл example.txt с примером использования"
    

Просмотр истории коммитов

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

git log

Эта команда покажет список всех коммитов с их SHA-1 хэшами, авторами, датами и сообщениями коммитов.

Полезные команды

  • Просмотр краткой истории коммитов:

    git log --oneline
    
  • Просмотр изменений, внесённых в конкретный коммит:

    git show <SHA-1 хэш коммита>
    
  • Отмена последнего коммита (с сохранением изменений в рабочем каталоге):

    git reset --soft HEAD~1
    

Примечание

Коммиты являются основным механизмом для сохранения изменений и ведения истории в Git. Они позволяют отслеживать, кто и когда внёс изменения, а также возвращаться к предыдущим состояниям проекта при необходимости.