git range-diff

Parches y reescritura

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>
[ ] opcional| o<arg> valor a sustituir... repetible--flag opción

Ejemplos

Tras un rebase

git range-diff main old feature

Versión antigua y nueva de la rama, sobre la base main.


Forma simétrica

git range-diff old...feature

Git encuentra la base él solo.


Con ORIG_HEAD

git range-diff ORIG_HEAD...HEAD

Justo después de un rebase: antes frente a después.

Ejemplos de flujos de trabajo

1
git rebase main

Rebase

2
git range-diff ORIG_HEAD...HEAD

Comparar 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

A:

No: compara commit a commit e ignora los cambios que vinieron de la nueva base.