Этот вопрос проверяет знание того, как использовать Git для слияния нескольких коммитов в один.
Для объединения последних N коммитов в один используется команда git rebase -i HEAD~N, которая позволяет интерактивно редактировать коммиты. В процессе вы можете выбрать, какие коммиты объединить с помощью команды squash или fixup.
Объединение нескольких коммитов в один называется сжатием (squashing) коммитов и выполняется с помощью интерактивного ребейза. Процесс выглядит следующим образом:
Откройте интерактивный ребейз:
git rebase -i HEAD~Nгде N — это количество последних коммитов, которые вы хотите объединить. Например, чтобы объединить последние 3 коммита, используйте HEAD~3.
В редакторе вы увидите список коммитов:
pick a1b2c3d Commit 1
pick d4e5f6g Commit 2
pick h7i8j9k Commit 3Измените pick на squash или fixup для всех коммитов, кроме первого, например:
pick a1b2c3d Commit 1
squash d4e5f6g Commit 2
squash h7i8j9k Commit 3Сохраните и закройте редактор. Git объединит коммиты в один.
При необходимости отредактируйте сообщение для нового объединённого коммита.
Завершите ребейз:
git rebase --continueЭтот процесс объединяет выбранные коммиты в один и улучшает читаемость истории.