Le « forking Workflow » ou « GitHub Flow »

Comme cela a été présenté dans notre comparatif des workflows Git, celui dans lequel nous allons entrer en détails aujourd’hui est particulièrement adapté à une équipe à taille humaine qui pratique des mises en production régulières.

Le concept complet de ce workflow est décrit dans ce tutoriel, à lire en priorité. Si vous avez besoin d’une user-story, le guide Atlassian vous sera probablement utile.

Un article sur GitHub récapitule les six étapes du GitHub Flow. Cette animation web permet même de visualiser le process.

Les commandes principales

Pour résumer, tout commence par la création d’une branche :

Au contraire de git branch, cette commande vous bascule immédiatement dans la branche fraichement créée, basée sur Master. Vous pouvez apporter des modifications à votre arbre de travail, commiter, pusher :

Lorsque votre fonctionnalité est terminée, déplacez vous dans le Master pour tirer vos modifications dedans :

C’est à cet instant que vous aurez éventuellement à résoudre des conflits. Pas d’inquiétude, vous serez toujours en local. Pour déployer votre merge en production, faites tout simplement :

Ce merge ajoute l’intégralité de l’historique d’une branche au master.

À noter que la commande précédente, sans paramètre, poussera toujours le contenu de votre branche master locale dans la branche master sur le serveur, peu importe si vous travaillez dans une autre branche.

Les autres commandes

Pour rafraichir votre branche avec un master qui a évolué :

Un simple git rebase master impliquerait que votre master local soit à jour. Un git merge origin/master créerait un nouveau commit.

Pour lister toutes les branches locales/distantes (-a all, -r remote) :

Pour récupérer la branche d’un collègue :

L’usage des tabulations peut provoquer des erreurs car les noms des branches sont proposés au format « origin/nom » et non « nom ».

Pour supprimer votre branche locale mais conserver la distante :

Pour supprimer la branche distance mais conserver votre locale :

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.