git range-diff
Compara dos versiones de una serie de commits
El comando 'git range-diff' compara dos versiones de la misma serie de commits — normalmente una rama antes y después de un rebase o de una ronda de revisión. Empareja cada commit antiguo con su versión nueva y lo marca = (sin cambios), ! (cambiado, con un diff de los diffs), < (solo en la versión antigua) o > (solo en la nueva). Los revisores lo usan para ver qué cambió entre versiones de una serie de parches.
Sinopsis
git range-diff <base> <old-tip> <new-tip>
git range-diff <old-tip>...<new-tip>
git range-diff <old-range> <new-range>Ejemplos
Tras un rebase
git range-diff main old featureVersión antigua y nueva de la rama, sobre la base main.
Forma simétrica
git range-diff old...featureGit encuentra la base él solo.
Con ORIG_HEAD
git range-diff ORIG_HEAD...HEADJusto después de un rebase: antes frente a después.
Ejemplos de flujos de trabajo
git rebase mainRebase
git range-diff ORIG_HEAD...HEADComparar antes y después
Solución de problemas
Todo aparece como < y >
Causa: Los rangos no tienen commits parecidos
Revisa la base y las puntas que pasaste
Consejos y trampas
Buenas prácticas
- ✓Deja una rama o tag en la versión antigua antes de reescribir una serie ya revisada.
Errores comunes
- ✗Comparar ramas con git diff tras un rebase — mezcla todos los cambios de la nueva base.
Preguntas frecuentes
No: compara commit a commit e ignora los cambios que vinieron de la nueva base.