ratifire / devrate-web

0 stars 0 forks source link

Create git flow #824

Open VladimirShaitan opened 5 days ago

VladimirShaitan commented 5 days ago

Треба обдумати і описати git flow процес

Пропозиція

  1. Заборонити прямі пуші в main:

    • Налаштувати захист гілки main, щоб дозволити пушити тільки через pull requests (PR). Це можна зробити в налаштуваннях репозиторію на GitHub, GitLab, чи іншій платформі.
  2. Структура гілок:

    • main — стабільна гілка, на якій завжди знаходиться робочий, протестований код. Пушити безпосередньо в цю гілку заборонено.
    • develop — основна гілка розробки, де об'єднуються всі нові фічі перед тим, як вони потраплять в main.
    • Фічеві гілки (feature branches) — створюються з develop і мають назви на кшталт feature/назва-фічі. Це місце, де розробники працюють над новими функціями.
    • Гілки для багфіксів (hotfix) — створюються з main, коли потрібно терміново виправити баг на продакшені. Після виправлення коду зміни пушаться в main і develop.
  3. Процес розробки:

    1. Створення фічевих гілок:
      • Кожен розробник створює нову гілку з develop для роботи над новою фічею: git checkout -b feature/назва-фічі develop.
    2. Коміт і пуш в фічеву гілку:
      • Розробник пушить зміни в свою фічеву гілку.
    3. Pull request в develop:
      • Після завершення роботи над фічею, розробник створює PR з фічевої гілки в develop.
      • PR має пройти код-рев'ю хоча б одного іншого члена команди.
    4. Злиття в main:
      • Після того, як всі фічі для релізу об'єднані в develop і протестовані, можна створити PR з develop в main.
      • Злиття в main означає новий реліз на продакшен.
  4. Захист гілок:

    • Налаштувати правила захисту на main і develop, щоб уникнути прямих пушів.
    • Обов'язковий код-рев'ю перед злиттям PR.
    • Увімкнути вимогу для успішного проходження тестів (CI/CD), перш ніж злиття PR.
  5. Комунікація і планування:

    • Узгодити з командою правила і дотримуватися їх. Прописати всі деталі GitFlow в документації проєкту, щоб уникнути непорозумінь.
SamZakharov commented 5 days ago

Описать, какие тэги надо добавлять к ПР

BhdnS commented 5 days ago

Предложение по поводу нейминга веток, [номер issue]-feature(or hotfix, bugfix, refactor, etc.) например 824-feature. Так будет проще ориентироваться какая задача лежит в ветке.

По неймингу коммитов можно воспользоваться этим: https://www.conventionalcommits.org/ru/v1.0.0-beta.2/

BlackPuma9 commented 5 days ago
  1. Атомарні коміти та визначити певну їх структуру по типу: [New Feature]: +Add user login form; + Add schema validation; - Email field
  2. Є пропозиція робити релізні гілки від main, в які мержимо зміни і як реліз готовий та протещений TL заливає зміни. Це на противагу develop гілці. Питання різного підходу, але суть та сама.
vplabunets commented 4 days ago

По неймінгу на початку ми домовлялись називати так: [Project]-[issue_number]/[feature]. Приклад: DW-177/refactor-code (DW - devrate web). Може залишити посилання на проєкт також, щоб було точно зрозуміло до якого проєкту відноситься гілка? Чи можна вже захистити main від прямого пушу? При ініціалізації проєкту ця опція була недоступна через тип github аккаунту(ratfire). На даний час фікси багів треба робити в гілку develop?

VladimirShaitan commented 4 days ago

По неймінгу на початку ми домовлялись називати так: [Project]-[issue_number]/[feature]. Приклад: DW-177/refactor-code (DW - devrate web). Може залишити посилання на проєкт також, щоб було точно зрозуміло до якого проєкту відноситься гілка? Чи можна вже захистити main від прямого пушу? При ініціалізації проєкту ця опція була недоступна через тип github аккаунту(ratfire). На даний час фікси багів треба робити в гілку develop?

@vplabunets Наразі всіpull-requests робимо в develop branch

Всі баги також гілки з багами також повинні проходити через PR і мій апрув, тільки після цього можна буде мерджити в develop

VladimirShaitan commented 4 days ago

По неймингу коммитов можно воспользоваться этим: https://www.conventionalcommits.org/ru/v1.0.0-beta.2/

@BhdnS Норм тема, я подумаю над цим, дякую

VitaliiaYaremenko commented 4 days ago

Я згодна з усім. Також погоджуюсь стосовно неймінгу гілок. І захисту mein.