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-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 ++
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Ó ++
Comandes
+ +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! +
★ ★ ★
+