- Тренер и контакты
- Метафора курса
- Договоренности (вопросы, перерывы, записи)
- Обзор тем
- Участники (роль, уровень, проблемы)
- amend, cherry pick, squash, rebase
- Почему сегодня важны практики CM и куда мы двигаемся
- Что это?
- Зачем?
- Live coding session
- настройки
- git stage vs idea shelve
- базовые операции: меню и git view
- hotkeys
- Practice session
- detached head state
- Debrief
- Что это?
- Live coding session
- checkout to working dir
- implicit "tags" = refs
soft reset
для squash и расщепления коммита (soft reset + частичный коммит + частичный коммит)- Practice session
- паттерны переключения между задачами
- Debrief
- Что это?
- conventional commits
- semantic versioning tags
- Зачем?
- Practice session
- Debrief
- Зачем это?
- как?
soft reset
- Live coding session
- Practice session
- Debrief
- Что это?
- Зачем?
- Как можно слить ветки
fast-forward
- merge
- rebase
-
fast-forward
merge
- merge vs rebase
- Live coding session
- Rebase with IDEA
- Interactive rebase with IDEA
- Practice session
- Debrief
- Подвисшие/потерянные коммиты и blob
- git gc
- как найти и починить просто
- указатели ссылок и
git help revisions
- Live coding session
- Practice session
- Debrief
- Что это?
- Зачем?
- Practice session
- Debrief
- Что это?
- Зачем?
- Как? (для github)
- Practice session
- Debrief
- Что это?
branch by abstraction
technique to counter the pressure to create a long-lived branch that would merge “back” later
feature toggling
- Зачем?
- Но это же больно?
- Practice session
- Debrief
- Как выглядит наша целевая CM архитектура
- epic feature: dev -> epic branch -> feature branch -> epic branch (squash + rebase) -> trunk (ff или rebase)
- fast feature: dev -> feature branch -> dev (ff или rebase)
- hot fix: trunk -> hot fix branch -> trunk (squash + rebase) + dev (cherry pick)
- Почему именно так?
- Кейс «зависимые задачи, но первая еще не влита»
- Practice session
- Debrief
- Оставшиеся вопросы и запаркованные темы
- Коммитмент на конкретные действия на производстве