Git diff: cómo ver los cambios en Git

Git diff permite comparar cambios en archivos, ramas y commit. Esto ayuda a descubrir los errores con mayor rapidez y seguir más fácilmente el desarrollo de un proyecto.

Dominios web baratos

Dominios tan originales como tus ideas.
Registra tu dominio con IONOS y disfruta de las funciones integrales que tenemos para ofrecerte.

Correo incluido
Certificado SSL
Asistencia 24/7

¿Qué es git diff y cómo funciona?

Tanto si estás trabajando en un pequeño proyecto personal de Git como si colaboras en un gran equipo con numerosos repositorios locales, en ambos casos harás una multitud de cambios e irás pasando de una instantánea a otra. Esto creará diferentes ramas, aumentando el número de commit y archivos. Si quieres comparar dos de esas fuentes de datos para hacer un mejor seguimiento, o comprobar los cambios efectuados, usa el comando de Git git diff, que compara dos estados y te muestra en qué se diferencian el uno del otro.

Git diff es una herramienta importante para el trabajo diario en un proyecto. El comando se utiliza a menudo junto con git status y git log. Gracias a este comando, no solo obtienes una visión general de tu repositorio, sino que además puedes identificar más rápidamente las fuentes de errores en el código en caso de problemas. La sintaxis de git diff es siempre la misma. El comando tiene el siguiente aspecto:

git diff

Añadiendo opciones después del comando, indicas a Git exactamente qué fuentes quieres comparar.

Ejemplo de aplicación de git diff

La mejor manera de explicar cómo funciona git diff es con un ejemplo. Supongamos que creas un nuevo proyecto con el nombre de “proyecto_nuevo” y que añades dos documentos de texto. Estos documentos se denominan color_primero.txt y color_segundo.txt. El contenido de color_primero.txt es la frase “El primer color es azul”. El documento color_segundo.txt solo contiene la frase “El segundo color es el rojo”. Si ahora entras en git diff, al principio no pasará nada, porque el repositorio todavía no contiene ningún cambio que pueda ser comparado, tendrías que mover los dos documentos al área de staging con el comando git add, que también puedes consultar en el práctico resumen de Git descargable en PDF. Este comando se usa de la siguiente manera:

git add color_primero.txt color_segundo.txt

Primero debes comprobar con el comando git status qué cambios se han realizado y, por tanto, están teóricamente listos para un commit. En este caso verías los dos documentos de texto color_primero.txt y color_segundo.txt.

Ahora, cambia el segundo documento modificando el enunciado “El segundo color es rojo” por “El segundo color es amarillo”. Ahora podrás ver este cambio con git diff. El resultado sería el siguiente:

$ git diff
diff --git a/color_segundo.txt b/color_segundo.txt
index [índice]
--- a/color_segundo.txt
+++ b/color_segundo.txt
@@ -1 +1 @@
-El segundo color es rojo
\ No newline at end of file
+El segundo color es amarillo
\ No newline at end of file

Explicación de cada línea

Como este tema es un poco confuso, a continuación explicaremos de qué trata cada una de las líneas.

  • diff --git a/color_segundo.txt b/color_segundo.txt: Esto te muestra qué fuentes de entrada ha comparado git diff. La versión a es la versión original, la b muestra la versión modificada.
  • index: Los metadatos se muestran en la línea del índice. Sin embargo, normalmente no te serán de mucho interés.
  • --- a/color_segundo.txt: git diff asigna los tres signos de menos como símbolos a la fuente de entrada original para que puedas rastrear los cambios.
  • +++ b/color_segundo.txt: Consiguientemente, la nueva versión se representa con el signo de más.
  • @@ -1 +1 @@: Este es el encabezado del bloque que resume los cambios. Como en este ejemplo solo se ha hecho un cambio en una línea, el encabezado es breve. Te indica que existe un cambio en la primera línea. Si el texto está compuesto por varias líneas y, por ejemplo, se sustituye una palabra en la quinta línea, Git lo indicaría aquí.
  • Líneas restantes: Las líneas restantes muestran los cambios exactos. De nuevo, el contenido de la versión original (“-El segundo color es rojo”) se marca con un menos y el contenido de la versión modificada (“+El segundo color es amarillo”) con un más.

Otras comparaciones con git diff

Puedes hacer diferentes tipos de comparaciones con git diff. Estos son los más importantes:

git diff HEAD

Con este comando comparas los cambios del directorio de trabajo con el índice:

git diff <rama_1> <rama_2></rama_2></rama_1>

Con este comando se comparan los commit de la rama_1 con los de la rama_2, y git diff tiene en cuenta el orden de las dos ramas:

git diff <commit_id> <commit_id></commit_id></commit_id>

Este comando compara los cambios entre dos commit. Para ello, primero hay que consultar la ID de los correspondientes commit con git log.

Consejo

¡Pruébalo gratis! Con Deploy Now de IONOS, gestionas todos tus proyectos a través de un panel de control y disfrutas de muchas funciones útiles. En el primer mes se incluyen hasta tres proyectos de iniciación.