Sobes.tech
Junior

Milyen tapasztalataid vannak a Git Flow-val?

sobes.tech MI

Válasz az MI-től

Tapasztalatom van a Git Flow-val, amit aktívan használok közepes és nagy projektek ágainak kezelésére.

Fő ág típusok:

  • master (vagy main) : Stabil kód, készen áll a gyártásra. Csak release-ből történő összevonással frissül.
  • develop : Fő ág az új funkciók integrálására. Minden új fejlesztés innen kezdődik.
  • feature/<név> : Új funkciók fejlesztésére szolgáló ágak. A develop-től ágaznak el, és a befejezés után visszacsatlakoznak a develop-hez.
  • release/<verzió> : Az új kiadás előkészítésére szolgáló ágak. A develop-től ágaznak el, hibajavításokra és végső simításokra használják. Mind a master, mind a develop-hez összevonják.
  • hotfix/<név> : Sürgős hibajavításokra szolgáló ágak a gyártásban. A master-től ágaznak el, és mind a master, mind a develop-hez összevonják.

Tipikus munkafolyamat egy funkcióval:

# Új funkció fejlesztésének megkezdése
git flow feature start my-new-feature

# Kódolás, commitok

# A funkció befejezése (összevonás a `develop`-be és az ág törlése)
git flow feature finish my-new-feature

A kiadás létrehozásának folyamata:

# A 1.0.0 verzióhoz kiadási folyamat indítása
git flow release start 1.0.0 develop

# Szükséges javítások és tesztek elvégzése

# A kiadás befejezése (összevonás a `master`-be és a `develop`-be, címkézés)
git flow release finish 1.0.0

A Git Flow alkalmas egyértelműen meghatározott kiadási ciklusú projektekhez, és a csapat fegyelmezettségét igényli. Rugalmassabb és gyorsan változó projektekhez néha egyszerűbb ágmodell, például a GitHub Flow, előnyösebb.

5-től 20 főig terjedő csapatoknál használtam, ami lehetővé tette a fejlesztési folyamatok szabványosítását és a merge konfliktusok csökkentését.