git-flow cheatsheet

créé par Daniel Kummer

modèle de versionnement efficace utilisant git-flow par Vincent Driessen

traductions: English - Castellano - Brazilian Portugues - 繁體中文(Traditional Chinese) - 简体中文(Simplified Chinese) - 日本語 - Türkçe - 한국어(Korean) - Français - Italiano - Nederlands - Русский (Russian) - Deutsch (German) - Català (Catalan)

A propos

git-flow est un ensemble d'extensions git permettant des opérations de haut niveau sur un dépot pour appliquer le modèle de branches de Vincent Driessen. détails

★ ★ ★

Cet aide-mémoire montre l'utilisation et les effets des opérations git-flow

★ ★ ★

Conseils de base

★ ★ ★

Installation

★ ★ ★

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

Vous aurez besoin de wget et de util-linux pour installer git-flow.

Pour des instructions détaillées concernant l'installation de git-flow, consultez le wiki git-flow.

install git-flow

Premiers pas

Git flow doit être initialisé afin de personnaliser la configuration de votre projet.

★ ★ ★

Initialisation

Commencez à utiliser git-flow en l'initialisant dans un dépot git existant:

git flow init

Vous devrez répondre à quelques questions concernant les conventions de nommage pour vos branches.
Il est recommandé d'utiliser les valeurs par défaut.

Fonctionnalités/Features

★ ★ ★

Commencer une feature

Le développement d'une fonctionnalité commence à partir de la branche 'develop'

Commencer le développement d'une nouvelle fonctionnalité avec:

git flow feature start MYFEATURE

Cette commande crée une nouvelle branche de fonctionnalité basée sur 'develop' et passe sur cette branche

Terminer une fonctionnalité

Termine le développement d'une fonctionnalité. Cette action effectue les opérations suivantes:

  • fusionne MYFEATURE dans 'develop'
  • Supprime la branche de fonctionnalité
  • Passe sur la branche 'develop'
git flow feature finish MYFEATURE

Publier une fonctionnalité

Vous développez une fonctionnalité en collaboration?
Publiez une fonctionnalité sur le serveur distant pour qu'elle puisse être utilisée par d'autres utilisateurs.

git flow feature publish MYFEATURE

Récupérer une fonctionnalité publiée

Récupérer une fonctionnalité publiée par un autre utilisateur

git flow feature pull origin MYFEATURE

Vous pouvez suivre une fonctionnalité sur le serveur distant en utilisant git flow feature track MYFEATURE

Livraison/Release

★ ★ ★

Commencer une livraison

Pour commencer une livraison, utilisez la commande git-flow release

créer une branche de livraison basée sur la branche de développement.

git flow release start RELEASE [BASE]

Vous pouvez si besoin ajouter le paramètre [BASE], le hash d'un commit à partir duquel commencera la livraison. Ce commit doit faire partie de la branche de développement.

★ ★ ★

Il est préférable de publier la branche de livraison après l'avoir créée pour permettre aux autres développeurs de commiter dessus. De la même manière que pour les fonctionnalités, utilisez cette commande:

git flow release publish RELEASE

Vous pouvez suivre une livraison sur le serveur distant en utilisant
git flow release track RELEASE

Terminer une livraison

Terminer une livraison est une des étapes majeures de cette méthode. Plusieurs actions sont réalisées:

  • Fusionne la branche de livraison dans la branche 'master'
  • Etiquette la livraison par son nom
  • Fusionne la livraison dans la branche 'develop'
  • Supprime la branche de livraison
git flow release finish RELEASE

N'oubliez pas de pousser vos étiquettes avec git push --tags

Correctifs/Hotfixes

★ ★ ★

Commencer un hotfix

Comme pour les autres commandes git-flow, un hotfix est commencé par

git flow hotfix start VERSION [BASENAME]

ici, le paramètre VERSION indique le nom de la future release corrigée. Vous pouvez si besoin spécifier à quelle release s'appliquera le hotfix.

Terminer un hotfix

En terminant un hotfix, il est fusionné dans les branches 'develop' et 'master'. De plus la fusion vers 'master' est etiquetée par la version du hotfix.

git flow hotfix finish VERSION

Commandes

git-flow commands

En suspens

★ ★ ★

★ ★ ★

comments powered by Disqus