Git, smart git & gitflow

Preview:

Citation preview

SmartGit & GitFlow

Конфигурируем SmartGit

Простой случай«Быстрая» «фича» для одного разработчика

Начинаем «фичу»Это создаст ветку feature/<feature_name>

Выделяем нужные файлы,жмем «Commit»

Делаем коммит(это делает stage выбранных файлов, затем commit)

Если нужны изменения от другого

разработчика….

Integrate Develop!

Используем Rebase(при условии, что наша ветка «фичи» - локальная)

Conflict!

Используем Conflict Solver

Разрешил конфликт?Сделай Stage!

Rebase: Continue или Abort

Пара usecase-ов

• Нужны чужие изменения, но коммит делать рано

• Случайный коммит не в ту ветку

Нужно забрать чужие изменения, но

«коммиттить» пока рано?

Save Stash!

Потом - Integrate, затем - Apply Stash!

SmartGit предлагает сделать это автоматически при «Integrate Develop»

Уже сделал коммит не в ту ветку?

Открываем Log

Выбираем нужный коммит и делаем Reset

hard - «совсем» убрать, soft - оставить изменения как staged, mixed - оставить изменения как «незакоммиченные»

Заканчиваем фичуИспользуем Rebase

Вопросы?

Усложненный случай«долгая» задача для нескольких разработчиков

Публикуем ветку(Rebase этой ветки на ветку dev теперь делать

нельзя!)

Интегрируем изменения из dev с помощью merge

Свои изменения можно Rebas-ить

Заканчиваем фичуИспользуем Merge

При конфликте - commit

Нельзя использовать reset для отката «запушанных» коммитов

Нужно использовать revert

Релиз!

Создаем ветку релиза

Делаем bugfix-ы в ветке релиза(если нужна своя ветка - просто создаем)

Подливаем bugfix-ы из release в dev(необязательно)

Выпускаем релиз(это сделает merge изменений в stage и в dev; если конфликты - разрешить

их, сделать коммит, потом снова выполнить «завершить релиз»)

Делаем Hot Fix(подольется одновременно в stage и в dev)

Вопросы?

Recommended