git-flow cheatsheet

creat per Daniel Kummer

branques eficients usant git-flow, per Vincent Driessen

traduccions: English - Castellano - Brazilian Portugues - 繁體中文(Traditional Chinese) - 简体中文(Simplified Chinese) - 日本語 - Türkçe - 한국어(Korean) - Français - Italiano - Nederlands - Русский (Russian) - Deutsch (German) - Català (Catalan) - Română (Romanian) - Ελληνικά (Greek)

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

★ ★ ★

Instal·lació

★ ★ ★

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.

install 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)

★ ★ ★

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)

★ ★ ★

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)

★ ★ ★

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

git-flow commands

Tasques pendents

★ ★ ★

★ ★ ★

comments powered by Disqus