Git diff permite comparar cambios en archivos, ramas y commit. Esto ayuda a descubrir los errores con mayor rapidez y seguir más fá­ci­l­me­n­te el de­sa­rro­llo de un proyecto.

Dominios web
Compra y registra tu dominio ideal
  • Gratis SSL Wildcard para tra­n­s­fe­re­n­cias de datos más seguras
  • Gratis registro privado para más pri­va­ci­dad

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

Tanto si estás tra­ba­ja­n­do en un pequeño proyecto personal de Git como si colaboras en un gran equipo con numerosos re­po­si­to­rios locales, en ambos casos harás una multitud de cambios e irás pasando de una in­s­ta­n­tá­nea a otra. Esto creará di­fe­re­n­tes ramas, au­me­n­ta­n­do el número de commit y archivos. Si quieres comparar dos de esas fuentes de datos para hacer un mejor se­gui­mie­n­to, o comprobar los cambios efe­c­tua­dos, usa el comando de Git git diff, que compara dos estados y te muestra en qué se di­fe­re­n­cian el uno del otro.

Git diff es una he­rra­mie­n­ta im­po­r­ta­n­te 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 re­po­si­to­rio, sino que además puedes ide­n­ti­fi­car más rá­pi­da­me­n­te 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 exac­ta­me­n­te qué fuentes quieres comparar.

Ejemplo de apli­ca­ción de git diff

La mejor manera de explicar cómo funciona git diff es con un ejemplo. Su­po­n­ga­mos que creas un nuevo proyecto con el nombre de “proyecto_nuevo” y que añades dos do­cu­me­n­tos de texto. Estos do­cu­me­n­tos 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 re­po­si­to­rio todavía no contiene ningún cambio que pueda ser comparado, tendrías que mover los dos do­cu­me­n­tos al área de staging con el comando git add, que también puedes consultar en el práctico resumen de Git de­s­ca­r­ga­ble 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ó­ri­ca­me­n­te listos para un commit. En este caso verías los dos do­cu­me­n­tos de texto color_primero.txt y color_segundo.txt.

Ahora, cambia el segundo documento mo­di­fi­ca­n­do 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

Ex­pli­ca­ción de cada línea

Como este tema es un poco confuso, a co­n­ti­nua­ción ex­pli­ca­re­mos 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 mo­di­fi­ca­da.
  • index: Los metadatos se muestran en la línea del índice. Sin embargo, no­r­ma­l­me­n­te 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: Co­n­si­guie­n­te­me­n­te, la nueva versión se re­pre­se­n­ta con el signo de más.
  • @@ -1 +1 @@: Este es el en­ca­be­za­do del bloque que resume los cambios. Como en este ejemplo solo se ha hecho un cambio en una línea, el en­ca­be­za­do 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 mo­di­fi­ca­da (“+El segundo color es amarillo”) con un más.

Otras co­m­pa­ra­cio­nes con git diff

Puedes hacer di­fe­re­n­tes tipos de co­m­pa­ra­cio­nes con git diff. Estos son los más im­po­r­ta­n­tes:

git diff HEAD

Con este comando comparas los cambios del di­re­c­to­rio 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 co­rre­s­po­n­die­n­tes 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 ini­cia­ción.

Ir al menú principal