Чи використовуєте ви цей чи подібний робочий процес з розгалуженням git?
Ми використовуємо аналогічний робочий процес на роботі, але трохи менш складний. Однак він сильно натхненний цим робочим процесом, оскільки я читав цю статтю багато разів. Я навіть маю pdf моделі розгалуження, надрукованої кольорами біля мого столу :)
Ви вважаєте це продуктивним підходом?
Продуктивний. Як Ви визначаєте продуктивність? Ну, на мій погляд, найважливіше - мати високу якість, принаймні намагатися і досягати кращої якості весь час. Постійне вдосконалення процесу тощо. Якщо ви можете створити якісний код, від цього виграє продуктивність. Отже, питання справді: чи покращує це якість програмного забезпечення? І моя відповідь на це, безумовно, так.
Найбільше мені подобається ця модель розгалуження - це те, що вона вводить гілки різних рівнів якості. Чим більше праворуч на малюнку, тим вища стабільність і вища якість. Основна галузь є святою і всі зобов’язання щодо неї повинні розглядатися як стабільні версії програмного забезпечення. Чим більше ліворуч ви їдете, тим експериментальніше і нижча стабільність.
Як тільки ви протестуєте нові функції та виправлення помилок, ви можете поступово переносити їх зліва направо і, таким чином, переходити в код з високою якістю саме тоді, коли знаєте, що код відповідає вимогам якості, які вимагаєте код. Ну, принаймні теоретично, оскільки ви не можете перевірити все на 100% і точно знаєте, що код не містить помилок, тому що у ньому завжди будуть помилки. Але це дозволяє вам зберігати високу впевненість.
Ніщо не смокче більше як програміст, ніж працювати в системі, де ніхто не має довіри до коду, тому що вони знають, що це просто смокче і що в ньому є велика кількість помилок.
Чи бачите ви недоліки при такому підході? Будь-який потенційний мінус?
Важливо продумати свою модель розгалуження, щоб вона добре відповідала потребам вашої організації. Тільки тому, що ця модель добре працює для деяких людей, не обов'язково означає, що вона оптимальна або бажана для інших.
Завжди є компроміси і навіть у цьому випадку. Один вигідний обсяг - це кількість галузей проти складності. Вводячи безліч різних типів галузей, ви збільшуєте складність робочого процесу. Наприклад, може бути неправильним завжди примушувати людей створювати нову гілку функцій, коли вони намагаються виправити просту помилку, змінивши пару рядків коду.
Всі ми знаємо, що помилки вирішуються більш-менш складно. Тож, коли виявиться банальна помилка, ви, можливо, захочете зменшити складність та адміністрування, щоб позбутися зайвих накладних витрат і просто дозволити людям взяти на себе зобов’язання, наприклад, на майстра або розвинути галузь. Але оскільки характер ваших виправлень стає складнішим, варто створити додаткові накладні витрати, щоб створити для них нові гілки. Особливо, якщо ви не впевнені в розмірах і довжині, або якщо ви хочете покращити співпрацю між вами та іншими розробниками.
Якщо ви маєте кращий підхід, чи не заперечуєте ви поділитися або надати посилання на статтю чи дискусію про неї?
Це, без сумніву, хороший підхід, і він може підходити до більшості випадків, оскільки у більшості з нас є подібні процеси розвитку, але він може не підходити всім. Я настійно закликаю вас продумати, як ви зараз керуєте своїм кодом, і спробувати створити модель розгалуження, яка відповідає тій, яка у вас вже є.
Найважливіший момент - почати роботу з git, а решта буде слідувати природним шляхом. Почніть просто і поступово вдосконалюйтесь! Будь креативним!
Ура