4. Сброс нежелательных изменений

Изменение последнего коммита

Нам всё ещё нужно добавить теги <h1> в файл hello.html. Результат должен выглядеть так:

Файл: hello.html
<h1>Hello, World!</h1>
Задача
Пройдено

Оберни текст в hello.html тегами <h1>, добавь в область подготовки и закоммить изменения.

Подсказка: Если нужные команды успели вылететь из головы, загляни в статьи про

и в Gitопедии.

Ой, извини, разве я не сказал, что в сообщении к коммиту нужно было написать ровно Added HTML tags to hello.html?

Чёрт!

Как бы глупо это ни звучало, ошибки в сообщениях коммитов случаются постоянно: опечатки, забытые номера задач и прочее. Не переживай, это легко исправить.

Давай исправим

Достаточно выполнить команду git commit ещё раз, но с флагом --amend. Этот флаг говорит Git заменить последний коммит новым.

Запустить в терминале:
git commit --amend -m "Added HTML tags to hello.html"

Как обычно, флаг -m позволяет передать новое сообщение прямо из командной строки. Если его не указать, откроется текстовый редактор по умолчанию с предыдущим сообщением.

Если выполнить коммит без флага -m, терминал изменится: история пропадёт, и появится пустой экран. Это текстовый редактор, который Git открыл для написания сообщения. В нём можно написать текст, сохранить его и закрыть редактор, чтобы завершить коммит. Как правило, это

, вроде vim или nano.

Звучит просто, но что может пойти не так? Если такие редакторы в новинку, бывает сложно даже выйти из них. Если это твой случай, вот пара видео, которые помогут разобраться: Vim, Nano.

Если ничего не помогает, просто закрой вкладку или окно с терминалом, затем открой новое и начни заново.

Задача
Пройдено

Измени сообщение последнего коммита с помощью команды выше.

Отлично, но что, если в последний коммит забыли добавить ещё какие-то важные детали? Например, давай обернём наш текст в правильные теги html и body:

Файл: hello.html
<html>
    <body>
        <h1>Hello, World!</h1>
    </body>
</html>

Чтобы добавить недостающие изменения в последний коммит, сначала их нужно добавить в область подготовки с помощью git add. Затем можно использовать флаг --amend, чтобы включить их в этот коммит.

Задача
Пройдено

Отредактируй hello.html, добавив недостающие теги, и добавь изменения в область подготовки. Пока не коммить!

В этот момент можно было бы просто выполнить git commit -m "Another commit", чтобы закоммитить правки отдельным коммитом. Но если мы хотим добавить их в последний коммит, нужно снова использовать флаг --amend.

Запустить в терминале:
git commit --amend -m "Added H1, HTML, and BODY tags to hello.html"
Задача
Пройдено

Измени последний коммит с помощью команды выше.

Идеально! Теперь все нужные правки лежат в одном коммите. Это здорово поможет в будущем, когда кто-то захочет выяснить, кто и зачем сделал то или иное изменение.

Next step
Хочешь попробовать Сюжетный режим?

Пройди курс так, как задумано: порционное обучение, чёткий порядок и постепенное открытие статей в Gitопедии. В любой момент можно продолжить работу с настоящим Git прямо в VS Code, Cursor, Antigravity или Windsurf.

Сюжетный режим
БЕСПЛАТНО
(требуется войти в аккаунт)