Ответ
Для редактирования последнего коммита в Git используется команда git commit --amend. Она позволяет изменить сообщение коммита, а также добавить или удалить файлы из него.
Применение:
-
Изменение сообщения коммита:
git commit --amendЭта команда откроет текстовый редактор, где можно изменить сообщение последнего коммита. Сохраните и закройте редактор, чтобы применить изменения.
-
Добавление забытых изменений: Если вы забыли добавить файлы или внести небольшие правки в последний коммит:
git add <файл_или_папка> # Добавляем забытые изменения git commit --amend # Перезаписываем последний коммит с новыми изменениямиВ этом случае сообщение коммита по умолчанию останется прежним, но вы можете его изменить в открывшемся редакторе.
⚠️ Важно: Используйте git commit --amend только для коммитов, которые еще не были опубликованы (например, не отправлены в удаленный репозиторий). Изменение опубликованных коммитов переписывает историю и может вызвать проблемы при совместной работе, так как другим разработчикам придется разрешать конфликты истории.
Для изменения более старых или нескольких коммитов используйте интерактивный ребейз: git rebase -i HEAD~N (где N — количество коммитов, начиная с последнего, которые вы хотите просмотреть и потенциально изменить).
Ответ 18+ 🔞
А, ну ты глянь, опять про этот ваш гит, блядь! Слушай, тут такая тема есть — git commit --amend. Это как если бы ты наговорил хуйни, а потом такой: «Ой, бля, не то ляпнул, давай заново». Вот эта команда — она последний твой коммит переписывает, как будто его и не было, сука. Можно сообщение поменять, можно файлы туда-сюда подкинуть.
Как этим пользоваться, чтобы не обосраться:
-
Сообщение кривое написал, стыдно:
git commit --amendОткроется редактор, и ты там можешь своё «Исправил баг» на «Исправил пиздецкий баг, который всё ебал» поменять. Сохранил — и всё, как будто так и было, ёпта!
-
Забыл файл добавить, рассеянный ты пидорас:
git add забытый_файл.txt # Опа, вспомнил про него! git commit --amend # И вуаля — он теперь в прошлом коммите, а не новый лепитсяСообщение коммита, если не трогать, останется старым. Но если хочешь, там же в редакторе и его поправить можно.
⚠️ А теперь, блядь, самое важное, слушай сюда! Эту команду — --amend — используй ТОЛЬКО для коммитов, которые ты ещё НЕ отправил на сервер, в общую помойку. То есть которые только у тебя в локалке болтаются. Потому что если ты уже залил коммит, а потом его переписал — это пиздец, это история переписывается! Твои коллеги потом будут тебя ненавидеть, как последнего мудака, потому что у них история разъедется, и придётся ебаться с конфликтами.
Если тебе надо поковыряться в более старых коммитах, не в последнем, то это уже другой цирк — интерактивный ребейз: git rebase -i HEAD~N. Где N — это на сколько коммитов назад заглянуть. Но это, блядь, уже высший пилотаж, там без бутылки не разберёшься.