O git-flowu
+ ++ git-flow je skup ekstenzija koje omogućuju da se operacije na repozitoriju, koje implementiraju + branching model Vincenta Driessena, obavljaju lakše. + more +
+★ ★ ★
+ +Ovaj šalabahter prikazuje osnovnu uporabu i efekte git-flow operacija
+ +★ ★ ★
+Osnovni savjeti
+-
+
- Git flow ima izvrsnu pomoć i izlaz na komandnoj liniji. Pažljivo čitajte da vidite što se dešava... +
- OSX/Windows klijent Sourcetree je izvrstan GUI alat za git koji nudi + podršku i za git-flow. + +
- Git-flow je rješenje zasnovano na mergeovima. Ne vrši se rebase brancheva sa novim razvijenim funkcionalnostima. +
★ ★ ★
+Postavljanje
+-
+
- Potrebna je funckcionirajuća git instalacaija. +
- Git flow radni na OSX, Linuxu i Windowsima +
★ ★ ★
+OSX
+ Homebrew ++ $ brew install git-flow ++ Macports +
+ $ port install git-flow ++
Linux
++ $ apt-get install git-flow ++
Windows (Cygwin)
++ $ wget -q -O - --no-check-certificate + https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | bash ++
Trebate wget i util-linux za instaliranje git-flow.
++ Za detaljne instalacijske upute posjetite git flow + wiki. +
+ +Osnove
+Git flow je potrebno inicijalizirati da prilagodite postavke svog projekta.
+★ ★ ★
+Inicijalizacija
+ +Započnite sa git-flow inicijalizaciranjem istog u postojećem git repozitoriju:
++ git flow init ++
+ Potrebno je odgovoriti na par pitanja vezano uz konvencije imenovanja brancheva.
+ Preporuča se uporaba pretpostavljenih vrijednosti.
+
Funkcionalnosti
+ +-
+
- Razvoj novih funkcionalnosti za naredne releasove +
- Tipično se nalaze samo u lokalnom repozitoriju +
★ ★ ★
+ +Početak nove funkcionalnosti
+Nove funkcionalnost započinju se iz 'develop' brancha.
+Otpočnite razvoj nove funkcionalnosti sa:
++ git flow feature start MYFEATURE ++
Ova akcija kreira branch za novu funkcionalnost baziran na 'develop' i prebacuje u njega
+ + +Dovršavnje funkcionalnosti
+ ++ Dovršite razvoj nove funkcionalnosti. + Ova akcija izvršava slijedeće +
+-
+
- Mergea MYFEATURE u 'develop' +
- Uklanja branch funkcionalnosti +
- Prebacuje natrag u 'develop' branch +
+ git flow feature finish MYFEATURE ++
Publiciranje funkcionalnosti
+ +
+ Razvijate li funkcionalnost zajedno s nekim?
+ Publicirajte funkcionalnost na udaljeni server tako da ju mogu koristiti drugi korisnici.
+
+ git flow feature publish MYFEATURE ++
Preuzimanje publicirane funkcionalnosti
+ ++ Preuzmite funkcionalnost koju je netko razvio. +
+ ++ git flow feature pull origin MYFEATURE ++ +
Možete pratiti razvoj funkcionalnost sa: git flow feature track MYFEATURE
Release
+ +-
+
- Podrška za publiciranje release-a na produkciju +
- Omogućavanje ispravke manjig bugova i pripremu metapodataka za release +
★ ★ ★
+Započnite release
+ +Da započnete release, koristite git flow release komandu. Kreira release branch kreiran iz 'develop' branch-a.
++ git flow release start RELEASE [BASE] ++
Opcionalno, možete dati [BASE]
sha-1 hash commit-a iz kojeg da se započne release. Commit mora biti na 'develop' branchu.
★ ★ ★
+Bilo bi pametno publicirati release branch nakon kreiranja da se omoguće release commit-i + od ostalih developera. Slično publiciranju funkcionlanosti:
++ git flow release publish RELEASE ++
(Možete pratiti udaljeni release sa git flow release track RELEASE
komandom)
Dovršavanje release-a
+ +Dovršiti release je veliki korak u git branchanju. Izvršava nekoliko akcija:
+-
+
- Merge-a release branch natrag u 'master' +
- Tagira release sa njegovim nazivom +
- Merge-a release natrag u 'develop' +
- Uklanja release branch +
+ git flow release finish RELEASE ++
Ne zaboravite da pošaljete tagove sa git push --tags
Brze prepravke
+ +-
+
- Kada je potrebno brzinski ispraviti greške na produkciji, koristi se hotfix mogućnost. + +
- Može se napraviti branch iz odgovarajućeg taga na master branchu koji označava produkcijsku verziju. +
★ ★ ★
+git flow hotfix start
+ +Kao i druge git flow komande, hotfix se započinje sa
++ git flow hotfix start VERSION [BASENAME] ++
Argumet 'version' označava naziv hotfix release-a. Dodatno, možete specificirati 'basename' iz kojeg se započinje hotfix.
+Dovršavanje hotfixa
+ +Dovršavanje, hotfix ibiva merge-an natrag u 'develop' i 'master'. Dodatno, merge u 'master' mbiva tagiran sa verzijom hotfixa.
++ git flow hotfix finish VERSION ++
Komande
+ +Backlog
+★ ★ ★
+-
+
- Nisu sve moguće komande, samo one načešće korištene +
- Možete dalje normalno koristiti git i sve njegove komande, git flow je samo kolekcija alata + +
- Npr. 'support' mogućnost je još beta, njena se uporaba ne preporuča +
- Pošaljite svoje prijevode, rado ću ih integrirati +
★ ★ ★
+