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)
Вопросы?
Top Related