Yesterday

Как перезатереть последний коммит

git commit --amend заменяет последний коммит новым, в который входят текущие staged-изменения. Опция --no-edit оставляет старое сообщение коммита без открытия редактора

# 1) вносим изменения в файлы

# 2) добавляем их в staging
git add .

# 3) перезаписываем последний коммит
git commit --amend --no-edit

# 4) пушим переписанную историю
git push --force-with-lease

Для пуша после amend нужен именно принудительный пуш, потому что хеш коммита меняется. Более безопасный вариант — --force-with-lease: Git проверяет, что удалённая ветка всё ещё в ожидаемом состоянии, и не даст случайно затереть чужие изменения.