Вступ
+ ++ 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 ++ Macports +
+ $ port install git-flow ++
Linux
++ $ apt-get install git-flow ++
Windows (Cygwin)
++ $ wget -q -O - --no-check-certificate + https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | 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-версії, користуватися ними не рекомендується +
★ ★ ★
+