Переклад удосконалює свій git workflow - bit stories

Налаштовуємо git-flow

Встановити git-flow на OS X простіше простого за допомогою homebrew

На сторінці проекту git-flow Ви можете знайти інструкції по установці на Linux і Windows.

Установка git-flow додає кілька дуже зручних git-команд для створення і управління гілками фич і релізів. Новий git репозиторій створюється з гілкою master. За замовчуванням в git-flow ця гілка використовується для production-а. У свою чергу основна розробка відбувається в гілці develop. Слід зазначити, що git-flow не більше ніж серія зручних "скорочень" для перемикання між цими гілками і перекидання змін з однієї в іншу. Після установки git-flow потрібно налаштувати локальну копію:

Ви можете погодитися зі значеннями за замовчуванням, натискаючи Enter - це, крім усього іншого, полегшить настройку git-flow у співробітників, тому що їм потрібно буде використовувати точно такі ж значення. Насправді все що, відбувається при запуску init - це додавання двох секцій [gitflow] в ваш .git / config:

Якщо вам потрібно щось уточнити скористайтеся вбудованим хелпом

Приємне доповнення у вигляді autocompletion для bash і для zsh

Робота над новою фичей

Для старту нової фічі, наприклад feature 77 з вашого issue-tracker'а:

Команда створює нову гілку feature / 77-speedup-yak-shaving з батьком develop і переключається на неї.

Потрібно розшарити роботу з іншими?

Це одним рухом push'іт remote-гілку і прив'язує локальну до неї. Стандартні git push і git pull -rebase працюють як і повинні, тому що гілки, створені git-flow, є звичайним гілками і не містять якоїсь спеціальної інформації. Вся хитрість - тільки в угоді іменування.

Коли фіча закінчена, її потрібно за-rebase-ить на develop і потім злити:

Після цих двох кроків develop буде містити Вашу нову фічу. Залишається тільки прогнати тести і за-push-ить.

Випуск релізів і хотфиксов

З релізами управлятися дуже легко:

Хотфиксов - це feature branch, що базується на останньому релізі і який автоматично буде влито і в master. і в develop. Просто і зі смаком.