Aller au contenu principal
Développement web10 juillet 20267 min de lecture

Git 2.55 : les nouveautés à retenir

Git 2.55 réduit la génération de bitmaps de 52 % sur les grands dépôts, introduit la sous-commande expérimentale git history fixup pour corriger l'historique sans rebase interactif, apporte le FSMonitor natif sur Linux et permet l'exécution parallèle des hooks. Tour des changements concrets à retenir pour les équipes de développement.

Par Eliott Bidault-Hervouet

Git 2.55 : les nouveautés à retenir
Sommaire(9 sections)

Le 29 juin 2026, l'équipe Git a publié la version 2.55. La release contient plusieurs changements qui modifient le quotidien des développeurs sur les grands dépôts : la génération de bitmaps passe de 612 secondes à 294 secondes sur des dépôts représentatifs de l'infrastructure GitHub, soit une réduction de 52 %. En parallèle, la sous-commande expérimentale git history fixup simplifie la correction de l'historique sans rebase interactif complet, et le FSMonitor natif arrive enfin sur Linux. Tour d'horizon des nouveautés à retenir.

Bitmaps et traversée d'historique : 52 % plus rapide sur les grands dépôts

Les bitmaps Git permettent de répondre rapidement aux requêtes d'accessibilité d'objets lors des opérations git clone, git fetch et des traversées d'historique côté serveur. Sur les grands dépôts, leur génération était coûteuse. Avec Git 2.55, ce temps passe de 612 à 294 secondes, soit environ 52 % de réduction, selon l'annonce publiée par l'équipe Git sur le blog de GitHub, source officielle de l'équipe maintenant Git et le miroir canonique GitHub. Deux optimisations se combinent : la récursion d'arbre est restructurée pour limiter les appels profonds, et le calcul du XOR de bitmaps bénéficie d'un chemin de traitement accéléré.

Les pseudo-merge bitmaps progressent encore plus nettement. Ces bitmaps spéciaux permettent à Git de traiter efficacement des requêtes portant sur un grand nombre de références simultanées, comme les mises à jour de nombreuses branches en parallèle. Ils atteignent dans cette version un gain proche de 20x pour les traversées complètes de l'historique. Pour les monorepos et les dépôts d'entreprise avec un historique dense, ce gain change la perception de rapidité des opérations côté serveur.

Une troisième optimisation concerne l'emballage des objets : le mode --path-walk produit des packs environ 16 % plus petits qu'un repack classique. Le calcul delta est plus lent avec cette option, ce qui la réserve aux repacks nocturnes ou aux opérations de maintenance hors-ligne plutôt qu'aux opérations interactives.

Repack incrémental MIDX : gérer les monorepos sans tout remballer

Le format MIDX (multi-pack-index) maintient un index agrégé sur plusieurs pack-files sans les fusionner en un seul. Git 2.55 y ajoute un mode incrémental via la nouvelle option git repack --write-midx=incremental : les chaînes MIDX se construisent en mode append-only, sans réécriture des couches existantes. Combiné avec le repack géométrique (--geometric=2), ce mode conserve un nombre logarithmique de couches de packs proportionnel à la taille du dépôt.

La documentation officielle de git-repack sur git-scm.com et la documentation du format multi-pack-index détaillent le comportement précis de ces options. Pour les équipes qui gèrent des dépôts volumineux dans leur infrastructure cloud et DevOps, cette fonctionnalité réduit le coût des opérations de maintenance périodique : on n'écrit que les nouveaux objets, au lieu de remballer l'intégralité du dépôt à chaque passe de garbage collection.

git history fixup : corriger un commit passé sans rebase interactif

Le workflow classique pour corriger un commit dans l'historique d'une branche passe par git commit --fixup <commit> suivi d'un git rebase -i --autosquash. Fonctionnel, mais verbeux : il faut préparer le commit de fixup, déclencher le rebase interactif, confirmer l'écrasement et résoudre les conflits éventuels.

Git 2.55 introduit la sous-commande expérimentale git history fixup <commit>. Elle applique le contenu de l'index (staging area) directement au commit désigné, puis rejoue automatiquement les commits descendants. En pratique : on stage les corrections, on appelle la commande avec l'identifiant du commit cible, et Git gère le reste. La commande est marquée expérimentale dans cette version et son interface peut encore évoluer avant de se stabiliser.

FSMonitor natif sur Linux : git status sans parcours complet du répertoire

Le FSMonitor permet à Git de surveiller les modifications du système de fichiers via l'API native du système d'exploitation, plutôt que de parcourir l'intégralité de l'arborescence de travail à chaque commande. La fonctionnalité était déjà disponible sur macOS (via FSEvents) et sur Windows (via ReadDirectoryChangesW). Git 2.55 complète la parité en ajoutant le support Linux via inotify, l'interface de surveillance d'événements du noyau Linux.

Pour l'activer, une seule configuration suffit : core.fsmonitor = true dans le dépôt. Sur les grands dépôts avec des milliers de fichiers, git status ne reçoit plus qu'une liste des fichiers signalés comme modifiés par le noyau, au lieu d'inspecter chaque entrée. La différence est perceptible dès le premier appel dans les projets de taille significative. C'est la dernière des trois plateformes majeures à recevoir cette fonctionnalité.

Hooks parallèles : réduire le délai des pipelines pre-commit

Git 2.55 permet d'exécuter des hooks compatibles en parallèle. Deux paramètres de configuration contrôlent ce comportement :

  • hook.<name>.parallel = true : active la parallélisation pour le hook nommé.
  • hook.jobs = <n> : contrôle le nombre maximum de jobs simultanés.

Pour les projets qui cumulent plusieurs hooks pre-commit sans dépendance entre eux (linter, formatter, vérifications de sécurité statique), l'exécution séquentielle par défaut allonge le temps de chaque git commit. La parallélisation concerne uniquement les hooks sans effet de bord croisé : deux hooks qui écrivent dans le même fichier de sortie ne sont pas candidats à cette configuration.

Sécurité et ergonomie : trois ajustements concrets

La sortie sideband, visible lors des opérations git fetch ou git push, masque désormais les caractères de contrôle dangereux tout en préservant les séquences de couleur ANSI. Un serveur Git malveillant pouvait jusqu'ici injecter des séquences d'échappement capables de réécrire le titre de la fenêtre du terminal ou de déclencher des actions non souhaitées. La sortie reste lisible et colorée, mais ces vecteurs sont bloqués.

La commande git checkout -m utilise désormais un autostash interne pour changer de branche en présence de modifications locales non commitées. Le comportement précédent s'appuyait sur une fusion manuelle potentiellement conflictuelle. Le nouveau comportement met les modifications de côté, change de branche, puis les réapplique, ce qui est plus prévisible pour le workflow quotidien.

Enfin, l'option --graph-lane-limit=<n> sur git log --graph limite le nombre de colonnes d'historique affichées simultanément. Sur les projets à nombreuses branches parallèles actives, le graphe peut devenir illisible. Cette option tronque l'affichage pour le maintenir exploitable sans quitter le terminal.

Décider lesquelles de ces nouvelles configurations adopter d'abord dépend de l'organisation réelle de chaque dépôt. Un audit et étude de cadrage permet de prioriser les changements selon le contexte de l'équipe, sans déployer des configurations en bloc sans ciblage.

100 contributeurs, 33 nouveaux : la communauté Git s'élargit

Git 2.55 rassemble les contributions de plus de 100 développeurs, dont 33 nouveaux contributeurs, selon l'annonce officielle. Les grandes évolutions de performance (bitmaps, MIDX, path-walk) ont mobilisé des ingénieurs de GitHub ainsi que des contributeurs travaillant sur des projets de grande échelle. Le tag de release v2.55.0 signé par Junio C Hamano est publié sur le dépôt officiel git/git.

Pour aller plus loin

Sources

Vérifiées sur sources primaires :


Eliott Bidault-Hervouet

Eliott Bidault-Hervouet

Développeur web

Pour aller plus loin

Google va déployer AI Overviews et AI Mode en France cet été 2026
Développement web17 juillet 20269 min

Google va déployer AI Overviews et AI Mode en France cet été 2026

Après un an et demi de retard réglementaire, Google va déployer AI Overviews et AI Mode, ses recherches génératives propulsées par Gemini, en France cet été 2026, au plus tard le 23 septembre. Ce qui change pour votre trafic organique et les premiers réflexes à adopter.

Thomas DubreuilThomas Dubreuil
TypeScript 7 réécrit en Go : le compilateur natif, 8 à 12 fois plus rapide
Développement web13 juillet 20268 min

TypeScript 7 réécrit en Go : le compilateur natif, 8 à 12 fois plus rapide

Microsoft publie la version stable de TypeScript 7.0 : compilateur, service de langage et outillage entièrement réécrits en Go, pour des builds généralement 8 à 12 fois plus rapides. Ce qui change, pourquoi Go, et comment TypeScript 6.0 prépare la migration.

Thomas DubreuilThomas Dubreuil
Deno 2.9 : desktop natif, démarrage 2x plus rapide et cryptographie post-quantique
Développement web8 juillet 20268 min

Deno 2.9 : desktop natif, démarrage 2x plus rapide et cryptographie post-quantique

Deno 2.9 livre la commande deno desktop pour compiler TypeScript ou Next.js en application native sans Electron, divise le cold start par deux, réduit la consommation mémoire d'un facteur 2 à 3, et intègre nativement la cryptographie post-quantique approuvée par le NIST.

Eliott Bidault-HervouetEliott Bidault-Hervouet

Réservez un rendez-vous gratuit avec un spécialiste

30 minutes pour échanger sur votre projet digital et vos enjeux tech.

Équipe Koul en train de brainstormer
Questions fréquentes

Le blog Koul

Ligne éditoriale, sources, usage : ce qui sort sur ce blog et comment vous pouvez vous en servir.