Изучаем Git. Урок 14.
git commit --amend и git reset
как переименовывать, редактировать и отменять последний коммит
Видеоурок
Конспект урока
Краткое содержание урока, основные инструкции для командной строки, полезные ссылки и советы.
О чем пойдет речь в уроке
Гит отслеживает все изменения в коде. Мы уже изучали, как можно сбросить изменения в файлах до того как они были закоммичены. Но что делать, если нужно поправить изменения в уже сделанных коммитах?
Сегодня мы рассмотрим несколько способов, как переименовывать, редактировать и отменять последние коммиты
Как переименовать последний коммит
Это делается с помощью флажка --amend команды git commit
Как изменить последний коммит
Сначала нужно сделать нужные изменения в коде. Не важно, удалять или добавлять код. А затем выполнить все тот же git commit --amend
При этом откроется консольный редактор кода, где будет предложено ввести commit message, по умолчанию совпадающий с последним коммитом
Также это можно сделать одной командой
А если при этом нужно еще переименовать коммит, то можно сразу
Как отменить последний коммит
Для этого используется команда git reset. Эта команда не только удаляет файлы из подготовленных к коммиту, но и может удалять сам коммит
Это просто удаляет последний коммит
"Мягкий" вариант удаления последнего коммита
Это тот же самый reset, но с флажком --soft
Отличие от --hard состоит в том, что последний коммит тоже удаляется, но при этом остаются изменения, сделанные в этом коммите. То есть удаляется сам факт коммита, а не его содержимое
На мой взгляд это более безопасная отмена коммита, так как после этого можно решить, что делать с изменениями. Можно их сбросить, можно удалить часть кода, а можно что-то добавить
Того же самого можно достичь командой git commit --amend, как именно работать - дело вкуса
Спасибо за внимание и до встречи!