Présentation de l'outil git-flow

Afin de gérer facilement ses branches git (suivant ce schéma), il existe un outil en ligne de commande très pratique : git-flow.

Installation

Pour l'installation vous pouvez aller voir ici, l'installation pour toutes les distribs y est décrite. Un exemple sur Archlinux, c'est ce qu'on utilise chez Hashbang (git-flow est présent dans les paquets AUR) :

yaourt -S gitflow-git

Une dernière petite étape pour avoir la complétion pour son utilisateur, il suffit d'enregistrer ce fichier (par exemple dans votre HOME) et de le charger dans ~/.bashrc :

wget https://github.com/bobthecow/git-flow-completion/blob/master/git-flow-completion.bash -O ~/.git-flow-completion.sh source ~/.git-flow-completion.sh echo "source ~/.git-flow-completion.sh" >> ~/.bashrc

Et voilà ! Le tour est joué.

Utilisation

Git flow fournit plusieurs commandes pour nous faciliter la vie :

git flow init

La première à utiliser est git flow init afin d'initialiser son projet git. Cette commande est à utiliser dans un nouveau ou un ancien projet git.

Plusieurs questions vous seront posées, vous pouvez laisser les configurations par défaut ou les personnaliser comme vous le souhaitez.

Un git flow init dans un dépôt git va créer les branches master et develop si elles n'existent pas.

git flow feature

Pour commencer une nouvelle branche pour une nouvelle fonctionnalité, utilisez git flow feature start <feature_name>.

Cette commande permet de créer une nouvelle branche feature/<feature_name> partant de develop et de se placer sur cette nouvelle branche.

Lorsque cette feature est terminée, un git flow feature finish <feature_name> va merger la branche feature/<feature_name> dans develop, supprimer la branche feature/<feature_name> et vous placer sur develop.

git flow hotfix

Les hotfix sont également possible : git flow hotfix start <fix_name> permet de créer une nouvelle branche depuis master puis git flow hotfix finish <fix_name> permet, dans l'ordre, de :

  • faire un fetch depuis origin
  • merger le hotfix dans master
  • tagger le hotfix
  • merger master dans develop
  • et enfin supprimer la branche hotfix

Une dernière petite chose qui peut être utile, git flow -g permet d'avoir la liste des commandes.

Il faut bien garder en tête que git-flow ne fait rien de plus qu'automatiser certaine action. Tout ce que git-flow fait est possible avec git.

Derniers articles

Pourquoi nous utilisons Wagtail : le CMS Django qui sépare les casquettes

Une introduction à Wagtail et son Zen : comment laisser à l'éditeur·i·ce de contenu un peu de choix, mais pas trop.

Comment devenir un bureau d'enregistrement ?

Devenir bureau d'enregistrement est un parcours de la combattante au niveau technique, administratif et financier. Il y a des cas simples et d'autres qui demandent de raser un Yack.

Précisions sur le projet de bureau d'enregistrement coopératif

L'appel à intérêt lancé la semaine dernière a suscité plusieurs réactions sur les valeurs proposées : clarifions quelques points aujourd'hui.

Appel à intérêt pour un bureau d'enregistrement coopératif

Qui serait partant·e pour participer (ou être client·e) du premier registrar sous forme de société coopérative d'intérêt collectif ?