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(vagymain) : Stabil kód, készen áll a gyártásra. Csakrelease-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. Adevelop-től ágaznak el, és a befejezés után visszacsatlakoznak adevelop-hez.release/<verzió>: Az új kiadás előkészítésére szolgáló ágak. Adevelop-től ágaznak el, hibajavításokra és végső simításokra használják. Mind amaster, mind adevelop-hez összevonják.hotfix/<név>: Sürgős hibajavításokra szolgáló ágak a gyártásban. Amaster-től ágaznak el, és mind amaster, mind adevelop-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.