git range-diff
Comparer deux versions d’une série de commits
La commande 'git range-diff' compare deux versions de la même série de commits — typiquement une branche avant et après un rebase ou un tour de revue. Elle associe chaque ancien commit à sa nouvelle version et le marque = (inchangé), ! (modifié, avec un diff des diffs), < (seulement dans l’ancienne version) ou > (seulement dans la nouvelle). Les relecteurs l’utilisent pour voir ce qui a changé entre deux versions d’une série de patchs.
Synopsis
git range-diff <base> <old-tip> <new-tip>
git range-diff <old-tip>...<new-tip>
git range-diff <old-range> <new-range>Exemples
Après un rebase
git range-diff main old featureAncienne et nouvelle version de la branche, sur la base main.
Forme symétrique
git range-diff old...featureGit trouve la base lui-même.
Avec ORIG_HEAD
git range-diff ORIG_HEAD...HEADJuste après un rebase : avant et après.
Exemples de workflows
git rebase mainRebase
git range-diff ORIG_HEAD...HEADComparer avant et après
Dépannage
Tout apparaît en < et >
Cause : Les plages n’ont aucun commit similaire
Vérifiez la base et les pointes données
Astuces et pièges
Bonnes pratiques
- ✓Gardez une branche ou un tag sur l’ancienne version avant de réécrire une série déjà relue.
Erreurs fréquentes
- ✗Comparer des branches avec git diff après un rebase — cela mélange toutes les modifications de la nouvelle base.
FAQ
Non : il compare commit par commit, en ignorant les modifications venues de la nouvelle base.