Despre
git-flow sunt un set de extensii git care furnizează operații de nivel înalt pentru întreg repository-ul folosind modelul de branch-uri al lui Vincent Driessen. mai mult
★ ★ ★
Această copiuță arată scenariile de bază, precum și efectul folosirii operațiilor git-flow.
★ ★ ★
Pentru început
- Git flow oferă ajutor și output excelente direct în linia de comandă. Citește-le cu atenție pentru a observa ce se întâmplă...
- Clientul Sourcetree pentru OSX/Windows este o interfață excelentă pentru git și are suport pentru git-flow
- Git-flow este o soluție bazată pe merge-uri. Nu face rebase pe branch-urile de tip feature.
★ ★ ★
Instalare
- Ca și precondiții este nevoie de o instalare git funcțională.
- Git flow funcționează pe OSX, Linux și Windows
★ ★ ★
OSX
Homebrew$ brew install git-flowMacports
$ 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
Vei avea nevoie de wget și de util-linux pentru a instala git-flow.
Pentru instrucțiuni detaliate de instalare a git flow te rugăm să vizitezi wiki-ul git flow.
La început
Git flow trebuie să fie inițializat pentru a putea personaliza proiectul tău.
★ ★ ★
Inițializare
Începe folosirea git-flow prin a-l inițializa în interiorul unui repository git deja existent:
git flow init
Va fi necesar să răspunzi la căteva întrebări legate de convențiile de numire pentru branch-urile tale.
Se recomandă să folosești valorile implicite.
Funcționalități/Features
- Dezvoltă noi funcționalități pentru viitoarele release-uri
- Există de obicei doar în repository-urile programatorilor
★ ★ ★
Începere funcționalitate nouă
Dezvoltarea de funcționalități noi începe din branch-ul 'develop'.
Începe dezvoltarea unei funcționalități noi cu
git flow feature start MYFEATURE
Această acțiune crează un nou branch bazat pe 'develop' și se mută pe el
Finalizare funcționalitate
Încheie dezvoltarea unei funcționalități. Această acțiune execută următoarele operații
- Face merge al branch-ului MYFEATURE în 'develop'
- Șterge branch-ul de tip funcționalitate
- Se mută înapoi pe branch-ul 'develop'
git flow feature finish MYFEATURE
Publicare funcționalitate
Dezvolți funcționalitate în colaborare cu altcineva?
Publică-ți funcționalitatea pe server, ca ea să poată fi folosită și de alți utilizatori.
git flow feature publish MYFEATURE
Obținerea unei funcționalități publicate
Obține funcționalitate publicată de către un alt utilizator.
git flow feature pull origin MYFEATURE
Poți urmări o funcționalitate la repository-ul origine folosind git flow feature track MYFEATURE
Predare/Release
- Ajută la pregătirea unui nou release în producție
- Permite fixarea unor probleme minore, precum și pregătirea meta-datelor asociate unui release
★ ★ ★
Începere release
Pentru a începe un release nou, folosește comanda git flow release. Aceasta crează un nou branch de tip release bazat pe branch-ul 'develop'.
git flow release start RELEASE [BAZE]
Este posibilă furnizarea unei [BAZE]
sha-1 de commit pentru a fi folosit drept bază a release-ului ce se crează. Acest commit trebuie să existe pe branch-ul 'develop'.
★ ★ ★
Este înțelept a publica branch-ul de release după ce a fost creat, pentru a permite și altor programatori să contribuie. Acest proces este similar celui de publicare funcționalitate; se folosește comanda:
git flow release publish RELEASE
(Poți urmări un release cu comanda git flow release track RELEASE
)
Finalizare release
Finalizarea unui release este unul din cei mai importanți pași din lucrul cu branch-urile în git. Se efectuează câteva acțiuni:
- Merge al branch-ului release înapoi în 'master'
- Crează tag (etichetă) pentru release, cu numele acestuia
- Merge al release-ului în branch-ul 'develop'
- Șterge branch-ul de release
git flow release finish RELEASE
Nu uita să publici etichetele cu comanda git push --tags
Corecturi/Hotfixes
- Corecturile provin din necesitatea de a acționa cât mai curând asupra unei stări nedorite a unei versiuni deja livrate
- Se poate baza pe eticheta de pe branch-ul master corespunzătoare release-ului țintit.
★ ★ ★
Începere corectură
Asemeni celorlalte comezi git flow, o corectură se începe cu
git flow hotfix start VERSION [BASENAME]
Argumentul VERSION markează noul nume de release ce va fi atribuit corecturii. În mod opțional poți preciza un nume de bază de la care se va porni în crearea corecturii.
Finalizare corectură
Prin finalizarea unei corecturi, aceasta va fi merge-uită înapoi în branch-urile 'develop' și 'master'. Suplimentar, 'master' va fi etichetat cu versiunea corecturii.
git flow hotfix finish VERSION
Rezerve
★ ★ ★
- Nu toate comenzile disponibile sunt acoperite aici, ci doar cele mai importante
- Poți folosi în continuare git și toate comenzile sale în mod normal, așa cum le cunoști, deoarece git flow este doar o colecție de instrumente suplimentare
- Facilitatea de 'support' este încă în beta, de aceea folosirea sa nu este recomandată
- Dacă dorești să ajuti la traducere, voi fi fericit să le integrez
★ ★ ★