git reset --soft
Сдвигает HEAD к коммиту, сохраняя все изменения в индексе.
Сигнатура
git reset --soft <коммит>Самый «мягкий» сброс: указатель ветки переезжает, но изменения отменённых коммитов остаются подготовленными в индексе. Удобно, чтобы объединить несколько последних коммитов в один или переписать сообщение, не теряя изменений.
git reset --soft HEAD~3
git commit -m "объединённый коммит"