Процесс работы с коммитами в Git включает создание коммитов, добавление сообщений к ним, просмотр истории коммитов, поиск нужных коммитов, откат изменений с помощью операций типа revert и reset, а также дополнение уже существующих коммитов.

Основные команды

  1. Создание коммита:

  2. Дополнение коммита:

  3. Откат изменений:

    Команды git revert и git reset предоставляют различные способы отката изменений в Git.

    1. git revert:

      • Команда git revert <commit_hash> создает новый коммит, который отменяет изменения, внесенные в указанный коммит. Это делает откат изменений без изменения истории коммитов.
      • Поскольку git revert создает новый коммит для отмены изменений, она является безопасным способом отката изменений, так как она не изменяет историю коммитов.
    2. git reset:

      • Команда git reset используется для изменения указателя текущей ветки (HEAD) на определенный коммит (<commit_hash>) или коммит относительно HEAD (HEAD~<количество_коммитов>).
      • В отличие от git revert, git reset фактически изменяет историю коммитов, поскольку удаляет коммиты из истории. Это делает ее более опасной, особенно если вы работаете с общедоступными ветками, так как это может привести к потере данных и созданию конфликтов с другими разработчиками.
      • git reset имеет несколько режимов:
        • --soft: Откатывает HEAD к указанному коммиту, оставляя изменения в рабочей директории и индексе.
        • --mixed (по умолчанию): Откатывает HEAD к указанному коммиту, сохраняя изменения в рабочей директории, но удаляя их из индекса (staging area).
        • --hard: Откатывает HEAD к указанному коммиту, полностью удаляя изменения из рабочей директории и индекса (staging area). Этот режим используется, когда вы хотите полностью удалить изменения.

    В целом, git revert предпочтителен, когда откат изменений удалённом на репозитории (без изменения истории коммитов), в то время как git reset используется, когда необходимо изменить историю коммитов и/или отменить изменения в индексе и рабочей директории в локальном репозитории.

  4. Просмотр логов и поиск нужного коммита:

  5. Просмотр детальной информации о конкретном коммите:

    git show показывает информацию о коммите, включая метаданные коммита (автор, дата, хэш), сообщение коммита и изменения, внесенные в рамках этого коммита.При использовании без аргументов (git show) команда покажет информацию о последнем коммите.

    Опции: