Занятие 19. Merge и rebase
⚡ Кратко: merge и rebase
- git merge — объединяет ветки, создаёт коммит слияния, сохраняет обе истории.
- git rebase — переписывает историю: применяет коммиты поверх целевой ветки, делая историю линейной.
- Золотое правило: rebase никогда не применять к публичным (общедоступным) веткам — это ломает историю у других разработчиков.
- git commit --amend — исправить последний коммит; опасно если уже запушен.
- git reset --soft/--mixed/--hard — откатить HEAD;
--hardбезвозвратно удаляет изменения! - git revert — безопасная отмена через новый коммит; не меняет историю.
Топ-3 опасности
- ⚠️
git reset --hard— удаляет изменения безвозвратно. Альтернатива:git reset --softилиgit revert. - ⚠️
git push --forceпосле rebase на публичной ветке — ломает историю у всей команды. - ⚠️
git commit --amendпосле push — создаёт расхождение с удалённой веткой.
Предварительные знания
Этот урок опирается на материал Занятия 18 (Работа со скриптами) и особенно на Занятие 16 (Ветви в Git).
- Умение создавать ветки:
git branch,git checkout -b - Понимание концепции коммита и истории коммитов
- Работа с удалённым репозиторием:
git push,git pull
Следующий урок
После этого урока переходите к Занятию 20 — Summary Session 8, где мы повторим материал уроков 18 и 19.