Допустим, вы хотите объединить свои три последних коммита. Начните с команды:
git rebase -i HEAD~3
Как это ломается:
- git rebase - Вы хотите редактировать историю коммитов текущей ветки
- -i - Вы хотите сделать это в интерактивном режиме с помощью вашего любимого текстового редактора командной строки
- HEAD ~ 3 - Вы хотите начать с самого последнего коммита (HEAD) и включить три коммита, вытекающие из HEAD.
Вам будет представлен текстовый файл примерно так:
pick 543600b3e Some code added
pick e0b77fac3 Some other stuff
pick a97899876 My most recent commit
Ваш последний коммит будет внизу. Чтобы раздавить эти коммиты, замените слово pick
любым из этих двух слов:
- squash или s - Squash коммит, сохраняя содержимое сообщения фиксации
- исправление или f - раздавить коммит, но избавиться от сообщения коммита
Обычно вы хотите сохранить верхнюю строку как pick
. После внесения изменений сохраните и выйдите (обычно ctrl + x , затем y , если вы используете Nano), и ваши коммиты будут подавлены .