Présentation de Git history

La commande Git history est une fonctionnalité expérimentale qui a été introduite dans les versions 2.54 et 2.55 de Git. Elle vise à simplifier la gestion des changements parallèles dans Git, en proposant trois sous-commandes : fixup, reword et split. Cette commande est particulièrement utile pour les développeurs qui travaillent avec de nombreux changements en parallèle et qui ont besoin d'une façon plus efficace de gérer leurs branches et leurs commits.

Fonctionnement de Git history

La sous-commande fixup permet de corriger un commit existant en ajoutant des changements supplémentaires, puis en réorganisant automatiquement toutes les branches qui dépendent de ce commit. Cette opération est atomique, ce qui signifie qu'elle ne laisse jamais l'arbre de commits dans un état partiellement cassé. La sous-commande reword permet de mettre à jour le message d'un commit existant, tandis que la sous-commande split permet de diviser un commit en deux, en sélectionnant interactivement les parties qui doivent être conservées.

Exemples d'utilisation

Voici un exemple d'utilisation de la sous-commande fixup :

git history fixup <commit>
. Cela permet de corriger un commit existant en ajoutant des changements supplémentaires, puis en réorganisant automatiquement toutes les branches qui dépendent de ce commit. De même, la sous-commande reword peut être utilisée pour mettre à jour le message d'un commit existant :
git history reword <commit>
.

Limites et perspectives

La commande Git history est encore expérimentale et présente certaines limites, notamment en ce qui concerne la gestion des conflits. Cependant, les documents officiels laissent la porte ouverte à des améliorations futures, notamment en ce qui concerne la prise en charge des conflits de première classe. Dans l'attente de ces améliorations, Git history constitue déjà un pas en avant important dans l'adoption de certaines fonctionnalités qui attirent les développeurs vers d'autres outils comme jj.