TECHNOLOGIES

Git, notre gestionnaire de versions

Git est le fondement de notre workflow de développement. Il assure la traçabilité de chaque modification, permet le travail en équipe sans friction et constitue le point d'entrée de notre chaîne CI/CD GitLab.

Cette fiche documente nos conventions de commits, notre stratégie de branches et nos bonnes pratiques de versionning.

Git logo

PRÉSENTATION

Qu'est-ce que Git ?

Git est un gestionnaire de source décentralisé gratuit et open source, créé en 2005 par Linus Torvalds (le père de Linux). Il a révolutionné la gestion du code source à l'époque de SVN et ouvert la voie à l'explosion de plateformes comme GitHub et GitLab.

Git s'adapte aux petits projets comme aux projets d'envergure. Chaque développeur possède une copie complète du dépôt sur son poste et peut travailler de façon indépendante, hors connexion. Une fois satisfait de son travail, il réalise un commit avec un message explicite et pousse ses modifications sur le dépôt distant.

Git intègre un système de branches qui permet d'isoler les modifications simplement, ainsi que des fonctionnalités de fusion (merge) et de résolution de conflits qui facilitent la mise en commun des évolutions avant leur déploiement. Les IDEs modernes comme PHPStorm intègrent directement les fonctionnalités Git dans leur interface pour une productivité maximale au quotidien.

Logo Git

POURQUOI GIT

Ce qui en fait le socle de notre développement

Git est présent sur tous nos projets sans exception. Voici les six raisons pour lesquelles nous ne pourrions pas travailler sans lui.

Historique complet et traçabilité

Chaque modification est enregistrée avec son auteur, sa date et son contexte. On peut retrouver à tout moment pourquoi une ligne a été écrite, qui l'a modifiée et dans quel cadre même des années après.

Travail en parallèle sans conflit

Les branches permettent à plusieurs développeurs de travailler simultanément sur des fonctionnalités différentes sans se bloquer mutuellement. Git gère la fusion et signale les vrais conflits.

Retour arrière fiable

Chaque commit est un point de restauration. En cas de régression ou de mauvaise direction, on peut revenir à n'importe quel état antérieur du code en quelques secondes sans perdre le travail réalisé en parallèle.

Revue de code sur les diffs

Git produit des diffs précis qui montrent exactement ce qui a changé entre deux états. La revue de code dans GitLab s'appuie sur ces diffs pour cibler les commentaires ligne par ligne.

Versioning des releases

Les tags Git marquent les versions livrées en production. Associés aux releases Sentry, ils permettent de corréler une erreur à un commit précis et d'identifier la régression introduite.

Socle de la CI/CD

Chaque push déclenche le pipeline GitLab CI. Git est le point d'entrée de toute notre chaîne d'automatisation : tests, analyse statique, build et déploiement sont tous pilotés par les événements Git.

NOTRE USAGE

Comment nous utilisons Git chez SmartBooster

Nos conventions Git garantissent un historique lisible et un workflow fluide quelle que soit la taille de l'équipe.

Messages de commit conventionnels

Nos commits suivent un format structuré : type(scope): description. Cela facilite la lecture de l'historique, la génération de changelogs et la compréhension du contexte de chaque changement.

Branches courtes et ciblées

Une branche = une fonctionnalité ou un correctif. Les branches feature/ et fix/ sont mergées rapidement pour limiter les conflits et garder un historique lisible.

Rebase avant merge

On rebase la branche sur main avant de créer la MR. L'historique reste linéaire, les conflits sont résolus tôt et le pipeline tourne sur un code à jour.

Pour aller plus loin

Approfondir votre réflexion

Développement de logiciel sur mesure

Git est le fil conducteur de chaque projet. Nos conventions de branches et de commits garantissent un historique lisible sur la durée.

GitLab

Notre plateforme CI/CD. Les pipelines GitLab s'appuient sur nos conventions Git pour automatiser tests, builds et déploiements à chaque push.

TMA — Maintenance logicielle évolutive

Un historique Git propre est indispensable lors des phases de maintenance : il permet d'identifier rapidement l'origine d'une régression.

Linux

Git a été créé par Linus Torvalds, le père de Linux. Notre équipe développe sous Linux, en cohérence avec nos serveurs de production.