Sobes.tech
Junior

Šta je Git Flow?

sobes.tech АИ

Одговор од АИ

Git Flow je model grananja u Git-u koji je predložio Vincent Driessen. On definiše stroga pravila za organizaciju grana i upravljanje životnim ciklusom projekta.

Glavne grane:

  • master: Sadrži kod spreman za izdavanje, uvek stabilan.
  • develop: Osnovna grana za razvoj novih funkcija.

Pomoćne grane:

  • feature/...: Za razvoj specifičnih funkcija. Odvajaju se od develop i ponovo se spajaju u develop. Asinhrone su jedna od druge.
  • release/...: Za pripremu novog izdanja. Odvajaju se od develop, spajaju se sa develop i master. Ispravljaju greške povezane sa izdanjem.
  • hotfix/...: Za brzo ispravljanje kritičnih grešaka u produkciji. Odvajaju se od master i spajaju se sa develop i master.

Životni ciklus feature grane:

  1. git checkout develop
    
  2. git pull
    
  3. git checkout -b feature/nova-funkcija
    
  4. Razvoj i commit-ovi.
  5. git checkout develop
    
  6. git pull
    
  7. git merge feature/nova-funkcija
    
  8. git branch -d feature/nova-funkcija
    

Prednosti:

  • Jasna struktura i organizacija.
  • Smanjuje konflikte pri spajanju.
  • Lako za razumevanje za nove članove tima.

Nedostaci:

  • Može biti previše složen za male projekte ili timove.
  • Zahteva pridržavanje strogih pravila.