Sobre git-flow
git-flow és un conjunt d'extensions de git que proporcionen operacions d'alt nivell sobre repositoris pel model de branques de Vincent Driessen. més
★ ★ ★
Aquest full de referència ràpida mostra l'ús bàsic i l'efecte de les operacions de git-flow
★ ★ ★
Consells bàsics
- Git flow proporciona ajuda i sortides excel·lents per la línia de comandes. Llegeix-la amb atenció per veure què està passant...
- El client per OSX/Windows Sourcetree és una excel·lent interfície gràfica per git i té suport per git-flow
- Git-flow és una solució basada en merge. No fa rebase de branques de funcionalitat (feature branches).
★ ★ ★
Instal·lació
- Necessites una instal·lació de git funcionant com a prerrequisit.
- Git flow funciona a 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
Necessites wget i util-linux per instal·lar git-flow.
Per instruccions detallades per instal·lar git flow, visita la wiki de git flow.
Començant
Git flow necessita inicialitzar-se per personalitzar la configuració del teu projecte.
★ ★ ★
Inicialitzar
Comença a usar git-flow inicialitzant-lo en un repositori git existent:
git flow init
Hauràs de contestar unes preguntes respecte les convencions per anomenar les branques.
Es recomana usar els valors per defecte.
Funcionalitats (features)
- Desenvolupa noves funcionalitats per les properes entregues (releases)
- Normalment només existeixen en els repositoris dels desenvolupadors
★ ★ ★
Comença una nova funcionalitat
El desenvolupament de noves funcionalitats comença des de la branca 'develop'.
Comença a desenvolupar una nova funcionalitat amb
git flow feature start LAMEVAFUNCIONALITAT
Aquesta acció crea una nova branca de funcionalitat basada en 'develop' i la fa activa
Acaba una funcionalitat
Acaba el desenvolupament d'una funcionalitat. Aquesta acció realitza el següent:
- Integra LAMEVAFUNCIONALITAT a 'develop'
- Esborra la branca de funcionalitat
- Torna a fer activa la branca 'develop'
git flow feature finish LAMEVAFUNCIONALITAT
Publica una funcionalitat
Estàs desenvolupant una funcionalitat en col·laboració amb altres desenvolupadors?
Publica una funcionalitat al servidor remot de manera que hi puguin accedir altres usuaris.
git flow feature publish LAMEVAFUNCIONALITAT
Obtenint una funcionlitat publicada
Obté una funcionalitat publicada per un altre usuari.
git flow feature pull origin LAMEVAFUNCIONALITAT
Pots seguir una funcionalitat a l'origen usant git flow feature track LAMEVAFUNCIONALITAT
Fes una entrega (release)
- Prepara una nova entrega a producció
- Permet arreglar petits errors i preparar les meta-dades per l'entrega
★ ★ ★
Comença una entrega
Per començar una entrega, usa la comanda git flow release. Crea una branca d'entrega des de la branca 'develop'.
git flow release start ENTREGA [BASE]
Pots proporcionar de manera opcional un hash sha-1 d'un commit [BASE]
des del qual començar l'entrega. El commit ha d'estar a la branca 'develop'.
★ ★ ★
És aconsellable publicar la branca d'entrega després de crear-la per tal que altres desenvolupadors puguin començar a fer-hi commits. Tal com per publicar funcionalitats, amb la comanda:
git flow release publish ENTREGA
Pots seguir una entrega en remot amb la comanda git flow release track ENTREGA
Acaba una entrega
Acabar una entrega és un dels grans passos en la gestió de branques amb git. Realitza les següents accions:
- Integra la branca d'entrega a 'master'
- Etiqueta l'entrega amb el seu nom
- Reintegra l'entrega a 'develop'
- Esborra la branca d'entrega
git flow release finish ENTREGA
No oblidis pujar les etiquetes amb git push --tags
Errors a producció (hotfixes)
- A vegades cal actuar inmediatament davant un estat no desitjat de la versió de producció i fer un hotfix
- Es pot crear una branca des de l'etiqueta corresponent a la branca 'master' que marqui la versió a producció.
★ ★ ★
git flow hotfix start
Com les altres comandes de git flow, un hotfix s'inicia amb
git flow hotfix start VERSIÓ [NOMBASE]
El paràmetre de la versió marca el nom de la nova entrega. Opcionalment pots especificar un nom base a partir del qual començar.
Acaba un hotfix
En acabar un hotfix, els canvis s'integren tant a 'develop' com a 'master'. Addicionalment, la integració a 'master' s'etiqueta amb la versió del hotfix.
git flow hotfix finish VERSIÓ
Tasques pendents
★ ★ ★
- No totes les comandes disponibles s'han explicat, només les més importants
- Pots seguir utilitzant git i totes les seves comandes de la mateixa manera que fins ara, git flow només és un conjunt d'eines
- La funcionalitat 'support' encara està en fase beta, no s'aconsella usar-la
- Si vols ajudar en la traducció, endavant!
★ ★ ★