Я використовую його для критичного обслуговування веб-сайту. Я єдиний розробник, але в мене є майстер, розробляти та випускати галузі.
Мій процес роботи з налаштування сайту виглядає приблизно так:
Зробіть працездатну головну гілку. Зробіть початкову фіксацію
Каса розвивати відділення. Нічого не робіть, розробляйте функції тестового буфера для злиття в master.
Відділення випуску замовлення Зашифруйте свою проблему, коли її буде зроблено, виведіть її на розробку, подивіться, чи виникають якісь проблеми, з’єднайте конфлікти тощо ... виправте їх.
Коли достатньо питань об'єднано у розробку для випуску та тестування на стабільність розвитку, потягніть на розробку.
Master
|
Develop - E
/ | \ \
A B C D
Таким чином ви отримуєте повну колекцію тестування в розробці, де ви можете перевірити стабільність, проблеми і т. Д ... без того, щоб ризикувати травмувати Майстра і не потрібно відмовлятися від зобов'язань, якщо вони були шкідливими.
Також, використовуючи окремі гілки для здійснення зобов'язань, ви можете «залишити» роботу, яку ви вже зробили, почати свіжу з чогось іншого, щоб виправити більш нагальну проблему і скоріше виконувати це.
У реальному житті у мене зазвичай є одна галузь випуску, і я розвиваю її, а потім перетворюю на майстер. Іноді це нудно, але раз на два місяці принаймні мені доводиться кидати роботу над краплею капелюха, тому що хтось мав уявлення про те, що я повинен зробити RightNow ™, і таким чином я можу швидко повернутися до базового стану, зробити річ а потім продовжуйте там, де я був. Тим більше, що для великих проектів, що займають кілька тижнів, це бог, що я можу швидко перемикати гілки.
Розглянемо такий сценарій: Ви завжди працює на головній гілці , і ви повинні AwesomeCodeThing ™ в роботах , що залишає свій майстер філія у відкритій хірургії серця і YugeBug ™ вискакує , що потребує в термінової фіксації в іншому випадку тисячі користувачів будуть скаржитися вам про BigProblems ™
єдиний спосіб швидко вирішити свою проблему за такого сценарію,
- перевірити свої попередні зобов'язання,
- подивіться, коли була остання стабільна комісія (проклинання необов’язково)
- відкотись до цього коміту
- виправити, підштовхнути виправлення до виробництва
- вирішити всі конфлікти та проблеми, які ви зараз намагаєтеся повернути до статусу AwesomeCodeThing ™
- відмовтеся, плачте і починайте працювати над собою.
Якщо ви використовуєте гілки:
- Майстер замовлення
- створити відділення UrgentFix ™ та виправити речі
- перетягніть UrgentFix ™ у майстер
- поштовх до виробництва
- Об'єднайте майстра в розробку
- Об'єднання перетвориться на AwesomeCodeThing ™
- випити пива і продовжувати працювати.