Вступ
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
Виправлення
- Виправлення потрібні для усунення небажаного стану production-версії
- Може відгалужуватися від відповідного тегу на гілці "master", яким позначено випуск production-версії
★ ★ ★
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-версії, користуватися ними не рекомендується
★ ★ ★