GIT Flow

GIT je sustav kontrole verzija za praćenje promjena i za koordinaciju rada na programskom kôdu. U ovom blogu razjasnit ćemo što su branchevi i zašto se merga. Terminologiju na engleskom nećemo prevoditi jer smatramo da to nema previše smisla :).


GIT sprema programski kôd pohranjivanjem snapshotova različitih verzija kôda u tzv. commitove. Svi commitovi u sebi sadrže informacije o drugim commitovima što nam dopušta praćenje promjena.

Branchevi predstavljaju različite verzije programskog kôda koji postoji istovremeno. Više brancheva može se mergati zajedno, i tako postižemo da je programski kôd na jednom branchu identičan programskom kôdu na drugom mjestu - odnosno branchevi sadrže iste informacije i izvršavaju iste operacije.

Tri su glavna brancha - development, release i master. Uz njih, koristimo i dva sub-brancha - feature brancheve i hotfix brancheve.

Development i feature branchevi

Ovo su branchevi na kojima programeri obavljaju većinu svoga posla. Development branch kao glavna faza razvoja softvera i feature branchevi kao sporedni branchevi predstavljaju brancheve koji su korišteni isključivo za razvoj. Na developmentu se u pravilu odvija većina programiranja, dok se u feature brancheve izdvaja kôd koji će se implementirati nešto kasnije u budućnosti ili koji predstavlja neki poseban feature softvera, pa ga je primjerenije izdvojiti u feature branch, radi urednosti u programskom kodu.

Release branch

Ovo je branch na kojemu testeri odrađuju većinu svoga posla. Development branch je periodički mergan s release branchom - programeri programski kôd mergaju dalje na release kada smatraju da je neka etapa razvoja završena. Na release branchu programeri rade bugfixeve - ukoliko postoje bugfixevi na releasu, oni se mergaju natrag na development kako bi programski kôd bio jedinstven i usklađen na svim branchevima. Nakon što je programski kôd eventualno "popravljen", nastupa merganje na master branch.

Master branch i hotfix branchevi

Master branch uvijek reflektira trenutno stanje live aplikacije tako da svaka promjena na master branchu izravno utječe na live aplikaciju. Ukoliko se slučajno pojave kritični bugovi na master branchu - ukoliko bug na live aplikaciji postoji možemo biti sigurni da je 'kritičan' - tada se kreira hotfix branch. Dakle, hotfix branch sadrži bugfix buga na masteru. Prednost korištenja hotfix brancheva je taj što je jedan programer u mogućnosti ispravljati bug dok drugi neometano razvija ostatak aplikacije, bez straha od miješanja kôda jednog i drugog programera.

Koncept GIT branchinga iznimno je koristan za razvoj softvera - on pogoduje urednosti, preglednosti i kontroli kôda.

Više članaka

TÜV certifikat - ISO 9001 za kvalitetu


[Pročitajte više]

Prijavi se na ljetnu praksu!


[Pročitajte više]

Održano predavanje PHP Caching na FOI-u


[Pročitajte više]

Odgovori na post


   {{ comment.name }}  |  {{ comment.date | date:'dd.MM.yyyy, HH:mm' }}

{{ comment.comment }}


Komentiraj


Molimo upišite Vašu e-mail adresu Ne ispravna e-mail adresa
Molimo upišite Vaše ime
Molimo unesite svoj komentar

Molimo potvrdite da niste robot
Zahvaljujemo na komentaru