Quoi de neuf dans Git 2.38 ?
Par Maxime Bréhin • Publié le 31 octobre 2022 • 2 min

Ce lundi 3 octobre 2022 est sortie la version 2.38 de Git avec deux nouveautés notables, la première étant une nouvelle option de rebase, --update-refs, l’autre étant l’intégration d’un nouvel outil pour faciliter la gestion de dépôts massifs, j’ai nommé Scalar !

Je te fais un résumé !

L’option update-refs : une presque excellente nouvelle

Avec Christophe, on a cru un instant qu’on avait enfin notre deep rebase 😃. Fausse joie 😞, mais joie quand même car cette nouvelle option satisfera tout de même quelques cas d’usages.

Déjà, à quoi sert cette nouvelle option ? Elle nous permet de mettre à jour les références des branches qui sont dans l’historique direct de la branche qu’on rebase. Bon, dit comme ça, il y a peu de chance que tu aies compris. Voyons donc tout ça plutôt avec un schéma animé :

Schéma décrivant le déplacement des étiquettes de branches avec

On trouve quand même sympa le fait de pouvoir rebaser des branches par-dessus une autre, même si ça ne marche qu’avec des branches “en ligne droite”. Ça signifie que pour une branche dev qui aurait une sous-branche feature, les 2 ayant divergé (évolué chacune de son côté), si on rebase dev, la branche feature restera à ses état et emplacement actuels.

Le rebase de  ne déplace pas sa branche enfant  en raison de leur divergence

Même chose si je rebase feature, la branche dev restera où elle est :

Le rebase de  ne déplace pas sa branche parente  en raison de leur divergence

On continue d’espérer le rebase des branches en profondeur un de ces jours.

Scalar : comme un aboutissement pour la performance

Microsoft fournit là une contribution très importante pour la gestion des dépôts massifs avec l’introduction dans la distribution de Git d’un utilitaire, surcouche à Git qui s’appuie sur les évolutions déjà intégrées comme l’amélioration de la maintenance, le sparse-checkout ou encore les commit graphs.

L’intention est donc d’améliorer la performance pour les contributeurs·rices mais aussi de faciliter la maintenance de ces dépôts.

Histoire de bien beta-tester le bousin, ils ont pris un projet à peine sensible : Office 365 !

Pour la petite histoire, ça fait un petit moment qu’il bossent sur le sujet de la perf pour répondre aux contraintes de leurs projets. Scalar était d’ailleurs initialement codé en .NET Core.

Je passe mon tour pour une démo ici, ça mérite un article qu’on produira peut-être plus tard.

Tout savoir sur Git 2.38

Il y a toujours plus à dire sur une nouvelle version. Aussi n’hésite pas à consulter directement l’article GitHub résumant tout ça, ou, si tu es courageux·se, va regarder les les notes de versions.

Tu veux aller plus loin et maîtriser pleinement les fondamentaux de Git ou être accompagné pour garantir la qualité de tes projets grâce à une bonne mise en place de Git ? On peut t’aider ou te former, il suffit de nous décrire ton besoin !