Ejecutar git diff branch1 branch2
En el paso anterior, usamos git log
para ver qué confirmaciones (commits) estaban presentes en diferentes partes de nuestra historia. Ahora, usemos el comando git diff
para ver los cambios reales entre dos puntos diferentes en el tiempo o entre diferentes ramas (branches). Esto es como comparar dos versiones de tu máquina del tiempo y ver exactamente qué partes se agregaron, eliminaron o modificaron.
Primero, asegúrate de estar en el directorio de tu proyecto:
cd ~/project/my-time-machine
Actualmente, solo tenemos una rama, master
. Para demostrar cómo comparar ramas, creemos una nueva rama llamada feature-branch
. Piensa en una rama como una línea temporal alternativa donde puedes trabajar en nuevas características o experimentos sin afectar la línea temporal principal (master
).
git branch feature-branch
Ahora, cambiemos a nuestra nueva rama:
git checkout feature-branch
Deberías ver una salida que indique que has cambiado de rama:
Switched to branch 'feature-branch'
En esta nueva rama, hagamos un cambio en nuestro archivo message.txt
:
echo "Adding a line on the feature branch." >> message.txt
Este comando agrega una nueva línea al archivo message.txt
.
Ahora, confirmemos este cambio en la rama feature-branch
:
git add message.txt
git commit -m "Add a line to message.txt on feature branch"
Después de la confirmación, deberías ver una salida similar a esta:
[feature-branch a1b2c3d] Add a line to message.txt on feature branch
1 file changed, 1 insertion(+)
Ahora tenemos dos ramas (master
y feature-branch
) con diferentes historiales de confirmación. La rama master
tiene las dos primeras confirmaciones, y la rama feature-branch
tiene esas dos confirmaciones más la nueva confirmación que acabamos de hacer.
Usemos git diff
para ver las diferencias entre la rama master
y la rama feature-branch
.
git diff master feature-branch
La salida mostrará las líneas exactas que son diferentes entre las dos ramas:
diff --git a/message.txt b/message.txt
index a1b2c3d..e4f5g6h 100644
--- a/message.txt
+++ b/message.txt
@@ -1 +1,2 @@
Hello, Future Me
+Adding a line on the feature branch.
Esta salida muestra que el archivo message.txt
es diferente. La línea que comienza con +
indica una línea que se agregó en la rama feature-branch
en comparación con la rama master
.
Usar git diff
es increíblemente poderoso para entender exactamente qué cambios se han realizado entre diferentes versiones de tu proyecto o entre diferentes ramas. Te ayuda a revisar los cambios antes de fusionarlos y a identificar dónde se produjeron modificaciones específicas.
Presiona q
para salir de la vista de diferencias y volver a la línea de comandos.