En este artículo
¿Qué es un diff de texto?
Un diff de texto es una comparación entre dos versiones de un texto que resalta exactamente qué ha cambiado. Muestra las adiciones (nuevas líneas o caracteres), las eliminaciones (contenido suprimido) y el contexto sin cambios. Las herramientas de diff son fundamentales en los flujos de trabajo de control de versiones, revisión de código y comparación de documentos.
El algoritmo de diff más común es Myers diff, que encuentra el número mínimo de ediciones (inserciones y eliminaciones) para transformar un texto en otro. Es el algoritmo que usan Git y la mayoría de las herramientas de diff.
Cómo funciona la comparación de diferencias
El diff de texto de CheckTown compara dos entradas de texto y presenta las diferencias de forma visual.
- Diff línea por línea — compara los textos a nivel de línea, mostrando qué líneas fueron añadidas, eliminadas o modificadas
- Diff de caracteres en línea — para las líneas modificadas, resalta los caracteres específicos que cambiaron
- Vista en paralelo — muestra ambas versiones lado a lado para una comparación visual sencilla
Pruébalo gratis — sin registro
Comparar texto →Cuándo usar el diff de texto
El diff de texto es útil en cualquier flujo de trabajo donde necesites identificar cambios entre dos versiones de un contenido.
- Revisión de código — compara versiones de código para entender qué cambió en un pull request o un parche
- Comparación de documentos — identifica cambios entre versiones de contratos, documentos de políticas o archivos de configuración
- Depuración de datos — compara respuestas de API de distintos entornos para identificar discrepancias
Preguntas frecuentes
¿Qué es el formato unified diff?
El unified diff es el formato de diff estándar basado en texto que usan git diff y patch. Las líneas que comienzan con + son adiciones, las que comienzan con - son eliminaciones, y las líneas sin prefijo son líneas de contexto sin cambios. Los marcadores @@ indican los números de línea a los que corresponde el bloque.
¿Cuál es la diferencia entre el diff por palabras y el diff por líneas?
El diff por líneas muestra líneas enteras como añadidas o eliminadas. El diff por palabras (git diff --word-diff) muestra los cambios a nivel de palabra dentro de las líneas, facilitando la detección de ediciones pequeñas en líneas largas. El diff a nivel de carácter muestra cada cambio de carácter individual, lo que resulta más útil para comparar cadenas estrechamente relacionadas.
¿Cómo ignoro los espacios en blanco en un diff?
La mayoría de las herramientas de diff admiten opciones para ignorar espacios en blanco. En Git, usa git diff -w para ignorar todos los cambios de espacios en blanco o -b para ignorar cambios en la cantidad de espacios. Esto es útil al comparar código que fue reformateado sin cambios funcionales, o al comparar texto de distintos editores que pueden usar diferentes finales de línea.