Blog članak

Git radni tokovi: dalje od main-vs-develop modela

Klasični Gitflow model main-vs-develop danas je zastario. GitHub Flow, GitLab Flow i razvoj temeljen na deblu (trunk-based) jednostavnije su alternative, podržane DORA podacima i automatizacijom grananja.

Gitflowov model main i develop je zastario. Atlassian navodi da je dugovječnu granu develop teško uskladiti s CI/CD-om.

GitHub Flow: izradite granu iz maina, napravite fokusiranu promjenu, otvorite zahtjev za spajanje, pokrenite provjere, spojite i izbrišite granu. GitLab Flow ostaje na mainu i dodaje produkcijske ili okolišne grane samo kada su nužne. Razvoj temeljen na deblu svakodnevno spaja male serije promjena u main i objavljuje iz tagova.

DORA navodi bolju isporuku kod timova s tri ili manje aktivnih grana, svakodnevnim spajanjima i bez zamrzavanja koda. Brojke su iz 2016./2017.; pouka je skratiti život grana i serije promjena.

Koristite pravila za preglede i provjere, potpisane commitove gdje treba te red čekanja koji ponovno testira prema najnovijem mainu. Počnite s jednim jasnim tokom, a i grane za izdanja dodajte kada su potrebne.

Mehanizam koji svaki od tih tokova čini sigurnim jest zaštita grana. Zahtijevajte barem jedno odobrenje pregleda, neka provjere budu obavezne i blokirajte force push na main. Red čekanja spajanja pomaže kada dnevno stigne mnogo malih zahtjeva: grupira ih, ponovno pokreće testove na najnovijem mainu i spaja samo ono što je zeleno. Ako tim tek kreće, počnite s GitHub Flowom i zaštićenim mainom, a grane za izdanja dodajte tek kada stvarno objavljujete iz tagova.

Izvori: GitHub, GitLab, DORA, Atlassian.

Povezana područja

Ova su područja rada usklađena s temom članka i daju čišći prijelaz od edukativnog sadržaja do konkretne implementacije.

Nastavite čitati

Prvo po zajedničkim kategorijama, a zatim po najjačem preklapanju u tagovima.