История как граф, не папка с копиями · R3
R3. Git и командная работа
Цель
Понимать модель Git и уверенно работать с ветками, конфликтами, PR, релизами и восстановлением истории.
Что освоить
- working tree, index и commit graph
- branch, merge, rebase и remote
- pull request и code review
- revert, reset, reflog и tags
- .gitignore и SSH authentication
Материалы основного пути
- Pro Git, 2-е издание
- Начать здесь. главы 1–3: основы, ветвление и remote workflows
- Обязательно. разделы 7.1–7.7: revision selection, reset, merge и rerere
- Learn Git Branching
- Практика. Introduction Sequence и Ramping Up, затем remote basics
Практика
Feature branch, PR, искусственный конфликт, tagged release и восстановление потерянного коммита.
Проверьте результат
Самостоятельно решаете конфликт, различаете revert/reset и объясняете, когда опасен rebase.
Вопросы, условия приёмки и доказательства
Ответьте и покажите
- Когда revert безопаснее reset?
- Почему rebase shared branch опасен?
Условия приёмки
- Есть reviewed PR и конфликт
- Tag указывает на релизный commit
- Потерянный commit восстановлен через reflog
Учебный отказ: Удалить локальную branch и сделать hard reset, затем восстановить нужный commit без копии каталога.
Артефакт: Git-репозиторий с PR, конфликтом, tag и восстановленным commit
История показывает feature branch/merge или rebase; конфликт решён; потерянный commit найден через reflog; destructive operation не затронула shared branch.
Хорошее доказательство: URL PR/tag + компактный git log --graph + transcript reflog/recovery.
Недостаточно: Репозиторий с одной main-веткой и линейными tutorial-коммитами без конфликта/recovery.
Углубление и справочные материалы
Темы для углубления
- rebase --onto и bisect
- signed commits/tags
- release branching и protected history
Найти регрессию через bisect, перенести серию коммитов между базами и выпустить подписанный tag.
Результат: История остаётся читаемой; потерянный commit восстановлен через reflog; destructive rewrite не затрагивает shared branch.
Дополнительные материалы
- GitHub Skills
- Git User Manual
Справочник. обращаться к object model, recovering и rewriting history
- Oh My Git!
Дополнительно. визуальная практика графа commit/branch/rebase