Основы Git и GitHub. Курс для начинающих. Установка, настройка, основные команды. Git в WebStorm
Git rebase и merge: как они отличаются и когда что выбрать
Rebase и merge решают одну задачу, интеграцию изменений из одной ветки в другую, но делают это по-разному. Rebase переписывает историю и выстраивает её в линейную цепочку. Merge объединяет истории и сохраняет обе ветки видимыми. Как работает rebase Git откладывает коммиты текущей ветки, которых нет в целевой, переключается на целевую ветку и поочерёдно накатывает отложенные изменения поверх новой базы. Каждый перенесённый коммит получает новый SHA-хеш: история не дополняется, а физически переписывается, и старые коммиты перестают быть частью ветки...
Git: интерактивный rebase не так страшен, как он работает
Автор заметки разбирает страх перед командой git rebase -i и сводит её работу к понятной модели: команда git rebase -i HEAD~4 открывает текстовый файл с перечнем последних коммитов и инструкциями для каждого из них. До подтверждения изменений этот список является планом, а не уже выполненным преобразованием; если пользователь передумал, rebase можно отменить командой git rebase --abort. В плане для каждого коммита можно оставить pick (взять как есть), поставить reword для изменения сообщения, squash...