В чем состоит различие между командой amend и командой squash в Git?

git commit --amend изменяет последний коммит, добавляя внесенные изменения или корректируя сообщение коммита. По сути, он заменяет последний коммит на новую версию, создавая новый SHA-хеш.

Короткий ответ

Что ответить на собеседовании

git commit --amend изменяет последний коммит, добавляя внесенные изменения или корректируя сообщение коммита. По сути, он заменяет последний коммит на новую версию, создавая новый SHA-хеш.

Подробный разбор

Ответ с пояснениями

git commit --amend изменяет последний коммит, добавляя внесенные изменения или корректируя сообщение коммита. По сути, он заменяет последний коммит на новую версию, создавая новый SHA-хеш.

git rebase --interactive с использованием опции squash позволяет объединить несколько последовательных коммитов в один. Вы выбираете коммиты для объединения, и Git формирует новый коммит с объединением всех выбранных изменений. История коммитов переписывается, создаются новые SHA-хеши для объединенных коммитов и всех последующих.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее