Вступ
git-flow — це набір розширень git, який надає доступ до високорівневих операцій над репозиторієм для підтримки моделі розгалуження Vincent Driessen. дізнатись більше
★ ★ ★
Ця шпаргалка описує основні способи використання операцій git-flow.
★ ★ ★
Загальні зауваження
- Git flow надає чудовий додаток для командного рядкя, який має довідку і покращений вивід. Уважно читайте його, щоб знати, що відбувається...
- Клієнт для OSX/Windows Sourcetree — чудовий GUI для Git — також підтримує git-flow
- Git-flow заснований на злитті. Для злиття гілок фіч не використовується rebase.
★ ★ ★
Встановлення
- В першу чергу вам потрібна робоча установка git
- Git flow працює на OSX, Linux і Windows
★ ★ ★
OSX
Homebrew$ brew install git-flow-avhMacports
$ port install git-flow-avh
Linux
$ apt-get install git-flow
Windows (Cygwin)
$ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash
Вам знадобиться wget і util-linux для установки git-flow.
Докладні інструкції для встановлення git flow дивіться на git flow wiki.
Перші кроки
Git flow порібно ініціалізувати, щоб налаштувати його для роботи з вашим репозиторієм.
★ ★ ★
Ініціалізація
Щоб почати використовувати git-flow проініціалізуйте його в середині існуючого репозиторія:
git flow init
Вам знадобиться відповісти на декілька запитань про те, яким чином іменувати ваші гілки.
Рекомендується залишати значення по-замовчуванню.
Фічі
- Розробка нових фіч для подальших релізів
- Зазвичай існує тільки в репозиторіях розробників
★ ★ ★
Початок нової фічі
Розробка нової фічі починається з гілки "develop".
Для початку розробки нової фічі виконайте:
git flow feature start MYFEATURE
Ця дія створить нову гілку фічі, засновану на гілці "develop", і переключається на неї.
Завершення фічі
Завершення розробки фічі. Ця дія виконується так:
- Злиття гілки MYFEATURE в "develop"
- Видалення гілки фічі
- Переключення назад на гілку "develop"
git flow feature finish MYFEATURE
Публікація фічі
Ви розробляєте фічу в команді?
Опубулікуйте фічу на віддаленому сервері, щоб її могли використовувати Ваші колеги.
git flow feature publish MYFEATURE
Отримання опублікованої фічі
Отримання фічі, опублікованої іншим користувачем.
git flow feature pull origin MYFEATURE
Ви можете відслідковувати фічу в репозиторії origin з допомогою команди git flow feature track MYFEATURE
Створення релізу
- Підтримка підготовки нового релізу продукту
- Дозволяє усунути дрібні помилки і підготувати різноманітні метадані для реліза
★ ★ ★
Початок релізу
Щоб почати роботу над релізом використовуйте команду git flow release
Вона створить гілку релізу, відгалужуючись від гілки "develop".
git flow release start RELEASE [BASE]
За потреби ви может вказати [BASE]
-комміт у вигляді його хешу sha-1, щоб почати реліз з нього.
Цей комміт повинен належати гілці "develop".
★ ★ ★
Бажано одразу публікувати гілку релізу після створення, щоб інші користувачі мали змогу виконувати комміти в гілку релізу. Команда для публікації схожа на аналогічну команду для фіч:
git flow release publish RELEASE
Також можна відслідковувати віддалений реліз за допомогою команди git flow release track RELEASE
Завершення релізу
Завершення релізу - один з найбільших кроків в git-розгалуженні. Під час цього відбувається декілька дій:
- Гілка релізу зливається в гілку "master"
- Реліз позначається тегом, який відповідає його імені
- Гілка релізу зливається назад в гілку "develop"
- Гілка релізу видаляється
git flow release finish RELEASE
Не забувайте відправляти зміни в тегах за допмогою команди git push --tags
Виправлення
- Виправлення потрібні тоді, коли є необхідність негайно усунути небажаний стан продакшн-версії продукту
- Може відгалужуватися від відповідного тегу на гілці "master", яким позначено випуск продакшн-версії
★ ★ ★
git flow hotfix start
Як і в випадку з іншими командами git flow, робота над виправленнями починається так:
git flow hotfix start VERSION [BASENAME]
Аргумент VERSION визанчає назву нового, виправленого релізу.
За потреби можна вказати BASENAME-комміт, від якого піде відгалуження.
Завершення виправлення
Коли виправлення готове, воно зливається назад в гілки "develop" і "master". Крім того, комміт в гілці "master" позначється тегом з версією виправлення.
git flow hotfix finish VERSION
Останні зауваження
★ ★ ★
- Тут описані не всі доступні команди, а тільки найбільш важливі
- Ви також можете продовжувати використовувати git і всі його команди, git flow — це тільки набір додаткових інструментів
- Можливості "support"-гілок поки що тільки в beta-версії, користуватися ними не рекомендується
★ ★ ★