Comment bien choisir son flow GIT pour son projet de développement ?

0
154
branche et cohesion projet

Un bon flux pour un bon projet. Savoir utiliser les branches, c’est une bonne première étape pour votre projet informatique. Passer à la mise en place d’un flux de gestion de développement, c’est encore mieux.

Passer d’un mode d’archivage à un monde multi-branche

Vous avez choisi Git pour garantir la cohésion de votre équipe et de votre projet.
Après avoir acquis les bons réflexes d’archivage de votre code (commit et push), vous commencez à ressentir les limites de Git.

Prenons l’exemple suivant : vous êtes en train de développer une fonctionnalité. Or, flûte, un nouveau bug arrive et il faut le corriger direct. Oui, mais zut, je fais comment moi avec ma fonctionnalité pas finie ? Je la commente ?

Est-ce vraiment les limites de Git ? Les limites du gestionnaire de sources ?

La puissance des branches

Pour profiter de toute la puissance de Git, et pour pallier au problème ci-dessus, il existe la possibilité de créer des mondes parallèles de votre code source, de votre projet.

Si vous connaissez (et aimez ?) Sliders, alors vous allez adorer les branches !

Dans Git, elles ont l’avantage d’être très rapide à créer, et à gérer.
De plus, avec le principe de travail en local, tout devient plus aisé, simplifié.

Ainsi, dès qu’une fonctionnalité arrive, dès qu’un bug doit être corrigé, ne plus le faire directement sur la branche master (ou main), pensez branche.

Cadrer les branches pour plus de cohésion technique

Vous le savez, il est essentiel de chercher la cohésion technique de votre projet, pour apporter de la cohésion humaine.

Grâce à la mise en place des branches, vous allez pouvoir commencer à coordonner l’ensemble des développements de votre projet.
Plus de panique quand une nouvelle fonctionnalité va arriver, plus de problème pour livrer alors qu’un bug arrive et doit être corrigé dans la minute : les branches sont là pour ça !

Cependant, à force, dans la durée de votre projet, vous allez commencer à sentir un manque d’organisation, des difficultés à se coordonner.

C’est pourquoi il va devenir intéressant de choisir un flux (flow) pour cadrer vos développements, vos livraisons.

De Git flow à GitLab Flow

L’idée principale de tous les flux est d’avoir :

  • une branche principale qui représente le code prêt à être livré en production, ou bien à l’image de ce que l’on va trouver en production.
  • Une à plusieurs branches qui vont servir à alimenter la branche master (main)

Git flow

Présentation — Documentation git-flow 1.0

Ici, la master (main) est toujours présente.

Cependant, c’est en fait une seconde branche (développement) qui sert de référente aux développements.
Chaque nouvelle fonctionnalité va se créer en branche à partir de la branche développement.

Et chaque préparation à la livraison en production se fera depuis la branche développement, et sera mergée sur la branche master.

Github flow vers Gitlab flow

Avec github flow et puis gitlab flow, nous changeons un peu de stratégie : plus de branche de développement, où sont créer les branches de fonctionnalités.

Non, nous partons du principe que ce sont les Pull / Merge request qui vont animer les livraisons, et vont permettre de garder l’historique sur notre projet.

DevOps for small / medium web apps - Part 4 - Continuous Delivery

Ainsi, à chaque fois qu’une nouvelle fonctionnalité va arriver, à développer, nous allons la créer à partir de la branche master.

Gitlab flow cadre aussi le après la livraison sur master.

L’importance de la cohésion commune et de l’accord commun

D’autres flux existent, comme le OneFlow.

Tous ces flow nous montrent l’importance de trouver un accord commun dans le cadrage de l’utilisation de Git.
Tout ceci dans l’intérêt du projet, de son futur, et donc de son passé (l’historique du projet).

Car pensons-y : Git permet avant tout la documentation de votre projet !

Votre équipe ?

Besoin de plus de cohésion !

Vos équipes peinent à se former ?

Vous souhaitez passer à l'étape supérieur pour vos projets ?

Plus de qualité, de plus de cohésion technique, d'équipe ?

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici