git-flow cheatsheet

creato da Daniel Kummer

branching efficiente usando git-flow realizzato da Vincent Driessen

traduzioni: 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) - Українська (Ukrainian) - Tiếng Việt (Vietnamese) - Polski - العربية

Introduzione

git-flow è un set di estensioni di git che offre dei comandi di alto livello sul repository per utilizzare il modello di branching di Vincent Driessen. maggiori informazioni

★ ★ ★

Questo cheatsheet mostra l'utilizzo di base a gli effetti dei comandi offerti da git-flow

★ ★ ★

Consigli di base

★ ★ ★

Setup

★ ★ ★

OSX

Homebrew
$ brew install git-flow-avh
Macports
$ port install git-flow-avh

Linux

$ apt-get install git-flow

Windows (Cygwin)

$ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash

Sono necessari wget e util-linux per installare git-flow.

Per le istruzioni dettagliate riguardo l'installazione di git-flow visitate il wiki di git flow.

install git-flow

Per Iniziare

Git flow ha la necessità di essere inizializzato per personalizzare il setup del progetto.

★ ★ ★

Inizializzazione

Iniziate ad utilizzare git-flow inizializzandolo all'interno di un repository git esistente:

git flow init

Dovrete rispondere ad alcune domande riguardanti la naming conventions per i tuoi branch.
Si raccomanda l'uso dei valori di default.

Features (Funzionalità)

★ ★ ★

Iniziare una nuova feature

Lo sviluppo di nuove feature cominica dal branch 'develop'.

Iniziate lo sviluppo di una nuova feature con

git flow feature start MYFEATURE

Questa crea un nuovo feature branch basato su 'develop' e si sposta su quello

Terminare una feature

Termina lo sviluppo di una feature. Questa azione esegue le seguenti operazioni

  • Merge del branch MYFEATURE all'inteno di 'develop'
  • Rimuove il feature branch
  • Si sposta di nuovo sul branch 'develop'
git flow feature finish MYFEATURE

Pubblicare una feature

State sviluppando una feature in collaborazione con altri?
Pubblicate una feature sul server remoto in modo che possa essere utilizzata da altri utenti.

git flow feature publish MYFEATURE

Scaricare una feature pubblicata

Scaricare una feature pubblicata da un altro utente.

git flow feature pull origin MYFEATURE

Potete tracciare una feature sul repository origin usando git flow feature track MYFEATURE

Creare una release

★ ★ ★

Iniziare una release

Per iniziare una release usate il comando release di git flow. Crea un release branch a partire dal branch 'develop'.

git flow release start RELEASE [BASE]

Potere facoltativmente fornire come parametro [BASE] lo sha-1 hash del commit dal quale far partire la release. Il commit deve essere sul branch 'develop'.

★ ★ ★

È una buona idea pubblicare il release branch dopo averlo creato in modo da consentire l'invio di release commit anche da parte di altri sviluppatori. Potete farlo, usando un comando analogo a quello per pubblicare le features, con il comando:

git flow release publish RELEASE

(Potete tracciare la release remota con il comando git flow release track RELEASE)

Terminare una release

Terminare una release è uno dei passi più grandi nella gestione dei branch di git. Vengono eseguite svariate operazioni:

  • Merge del release branch su branch 'master'
  • Tag della relase con il suo nome
  • Merge all'indietro della relase sul branch 'develop'
  • Rimozione del release branch
git flow release finish RELEASE

Non dimenticate di fare il push dei tag creati con git push --tags

Hotfixes

★ ★ ★

git flow hotfix start

Come gli altri comandi di git flow, un hotfix comincia con

git flow hotfix start VERSION [BASENAME]

La versione passata come argomento definisce il nuovo nome dell'hotfix release. Facoltativamente potete specificare un basename da cui partire.

Terminare un hotfix

Terminando un hotfix, esso viene integrato (merge) all'indietro all'interno di 'develop' e di 'master'. In aggiunta il master viene taggato con la versone dell'hotfix.

git flow hotfix finish VERSION

Comandi

git-flow commands

Backlog

★ ★ ★

★ ★ ★

comments powered by Disqus