Что делает git revert head? 🤔 | Инструкция и примеры использования

Команда "git revert HEAD" отменяет последний коммит в ветке.

Чтобы лучше понять, давайте рассмотрим пример:

git log --oneline

Эта команда позволяет просмотреть историю коммитов в репозитории.

Результат будет выглядеть примерно так:

f23a6d1 (HEAD -> main) Latest commit 
ab1cd12 Previous commit 
def4567 Initial commit

Если мы хотим отменить последний коммит, мы выполняем команду "git revert HEAD":

git revert HEAD

Git создаст новый коммит, который отменит изменения последнего коммита. Следующий результат покажет изменения в истории коммитов:

git log --oneline

Результат будет выглядеть примерно так:

f23a6d1 (HEAD -> main) Latest commit revert "Latest commit" 
ab1cd12 Previous commit 
def4567 Initial commit

Теперь последний коммит отменен, и его изменения больше не присутствуют в ветке.

Детальный ответ

git revert HEAD: что делает

Команда git revert HEAD позволяет отменить последний коммит, внесенный в репозиторий. Она работает путем создания нового коммита, который отменяет изменения, внесенные в последний коммит.

Давайте разберемся в подробностях, что происходит, когда вы выполняете git revert HEAD.

Когда вы коммитите изменения в Git, каждый коммит сохраняет снимок состояния вашего проекта на определенный момент времени. Каждый коммит имеет свой уникальный идентификатор (хэш-код), который позволяет вам ссылаться на конкретные версии вашего проекта. Ваш репозиторий по сути представляет собой граф коммитов, где каждый коммит ссылается на своего предка.

Когда вы выполняете git revert HEAD, Git создает новый коммит, отменяющий изменения, внесенные последним коммитом. Это означает, что изменения, внесенные в последний коммит, будут отменены и вернутся к состоянию, предшествующему этому коммиту.

Например, предположим, что ваш репозиторий имеет следующую историю коммитов:

commit C (HEAD)
Author: John Smith
Date:   Fri Jan 14 12:00:00 2022
    Fix bug in login feature

commit B
Author: John Smith
Date:   Fri Jan 14 11:00:00 2022
    Update homepage

commit A
Author: John Smith
Date:   Fri Jan 14 10:00:00 2022
    Initial commit

Вы хотите отменить последний коммит с идентификатором C, потому что он внес ошибки в функционал входа в систему.

Когда вы выполняете git revert HEAD, Git создаст новый коммит с изменениями, которые отменяют коммит C. Результат будет выглядеть следующим образом:

commit D (HEAD)
Author: John Smith
Date:   Fri Jan 14 12:30:00 2022
    Revert "Fix bug in login feature"

commit C
Author: John Smith
Date:   Fri Jan 14 12:00:00 2022
    Fix bug in login feature

commit B
Author: John Smith
Date:   Fri Jan 14 11:00:00 2022
    Update homepage

commit A
Author: John Smith
Date:   Fri Jan 14 10:00:00 2022
    Initial commit

Теперь ваш репозиторий содержит новый коммит D, который отменяет изменения, внесенные коммитом C. Исходный коммит C все еще остается в истории, но изменения, которые он внес, отменены в коммите D.

Вы можете видеть, что созданный коммит D имеет сообщение, содержащее слово "Revert". Это стандартное сообщение, генерируемое Git, чтобы указать на то, что это коммит, отменяющий предыдущие изменения.

Когда вы выполняете git revert HEAD, Git автоматически создает коммит с помощью информации из предыдущего коммита. Вы также можете включить опцию --no-edit, чтобы предотвратить открытие редактора сообщений и оставить сообщение коммита по умолчанию.

Теперь вы знаете, что делает git revert HEAD. Он создает новый коммит, который отменяет изменения, внесенные в последний коммит, и добавляет его в историю вашего репозитория.

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

git revert HEAD

Это выполнит отмену последнего коммита в вашем репозитории.

Обратите внимание, что команда git revert может также принимать идентификатор коммита, который нужно отменить Вашим заданием было указано использование HEAD, и поэтому был создан новый коммит, отменяющий изменения, внесенные последним коммитом в ветке.

Видео по теме

10.1 Git - Отмена коммитов через revert - Обратные коммиты, revert

5.1 Git - Reset - Жесткий reset --hard: отмена изменений, удаление коммитов

Git: Урок 7. Revert - Отмена коммита

Похожие статьи:

🔥 Как свернуть блок в VS Code: подробная инструкция для начинающих! 😎

🔀 Как легко перейти на диск D в командной строке Git Bash?

Что делает git revert head? 🤔 | Инструкция и примеры использования

Что такое Bonobo Git Server: подробное объяснение и функции