git, smart git & gitflow

40
SmartGit & GitFlow

Upload: justvitalius

Post on 18-Jun-2015

582 views

Category:

Internet


4 download

TRANSCRIPT

Page 1: Git, smart git & gitflow

SmartGit & GitFlow

Page 2: Git, smart git & gitflow
Page 3: Git, smart git & gitflow

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

Page 4: Git, smart git & gitflow

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

Page 5: Git, smart git & gitflow

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

Page 6: Git, smart git & gitflow

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

Page 7: Git, smart git & gitflow

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

Page 8: Git, smart git & gitflow

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

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

Page 9: Git, smart git & gitflow

Integrate Develop!

Page 10: Git, smart git & gitflow

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

Page 11: Git, smart git & gitflow

Conflict!

Page 12: Git, smart git & gitflow
Page 13: Git, smart git & gitflow

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

Page 14: Git, smart git & gitflow

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

Page 15: Git, smart git & gitflow

Rebase: Continue или Abort

Page 16: Git, smart git & gitflow

Пара usecase-ов

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

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

Page 17: Git, smart git & gitflow

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

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

Page 18: Git, smart git & gitflow

Save Stash!

Page 19: Git, smart git & gitflow

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

Page 20: Git, smart git & gitflow

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

Page 21: Git, smart git & gitflow

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

Page 22: Git, smart git & gitflow

Открываем Log

Page 23: Git, smart git & gitflow

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

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

Page 24: Git, smart git & gitflow

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

Page 25: Git, smart git & gitflow

Вопросы?

Page 26: Git, smart git & gitflow

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

Page 27: Git, smart git & gitflow

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

нельзя!)

Page 28: Git, smart git & gitflow
Page 29: Git, smart git & gitflow

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

Page 30: Git, smart git & gitflow

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

Page 31: Git, smart git & gitflow

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

Page 32: Git, smart git & gitflow

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

Page 33: Git, smart git & gitflow

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

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

Page 34: Git, smart git & gitflow

Релиз!

Page 35: Git, smart git & gitflow

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

Page 36: Git, smart git & gitflow

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

Page 37: Git, smart git & gitflow

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

Page 38: Git, smart git & gitflow

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

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

Page 39: Git, smart git & gitflow

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

Page 40: Git, smart git & gitflow

Вопросы?