Git

Git Compara dos ramas

Git Compara dos ramas

Casi todos los sistemas de control de versiones tienen opciones de ramificación. Pero Git es conocido por sus rápidas capacidades de ramificación. Las ramas de Git son ligeras. Por lo tanto, las penalizaciones de rendimiento por ramificación son mínimas y se anima a los equipos de desarrollo a ramificarse y fusionarse tanto como sea posible. Pero cuando trabaja con varias ramas, es importante poder comparar y contrastar las diferencias. En este tutorial, pasaremos por un flujo de trabajo para ver cómo podemos comparar varias ramas y confirmaciones.Primero configuremos la siguiente situación:

C00 => C01 => C03 => C06 (maestro)

      \

       C02 => C04 => C05 (desarrollo)

Se tomaron los siguientes pasos:

Después de todas las confirmaciones, la rama 'maestra' tiene los siguientes archivos:

Hola Mundo.py
léame.TXT

Y la rama de 'desarrollo' tiene los siguientes archivos:

Hola Mundo.py
info.TXT


Comparando las cabezas de dos ramas

Puede usar el nombre de las ramas para comparar las cabezas de dos ramas:

$ git diff master ... desarrollo
diff --git a / hello_world.py b / hello_world.py
índice e27f806… 3899ed3 100644
--- a / hello_world.py
+++ b / hello_world.py
@@ -2,7 +2,7 @@
def principal ():
print ("Primer saludo!")
- print ("Segundo saludo!")
-
+ print ("La rama de desarrollo dice Hola")
+ print ("La rama de desarrollo dice Hola de nuevo")
if __name__ == "__main__":
principal()
diff --git a / info.txt b / info.TXT
nuevo modo de archivo 100644
índice 0000000… 0ab52fd
--- / dev / null
+++ b / info.TXT
@@ -0,0 +1 @@
+Nueva información
diff --git a / readme.txt b / readme.TXT
modo de archivo eliminado 100644
índice e29c296… 0000000
--- a / readme.TXT
+++ / dev / null
@@ -1,2 +0,0 @@
-1 Primera línea del archivo Léame.TXT
-2 Segunda línea del archivo Léame.TXT

El comando diff está mirando recursivamente los cambios. Ha ejecutado las siguientes diferencias:

diff -git a / hello_world.py b / hello_world.py
diff -git a / info.txt b / info.TXT
diff -git a / readme.txt b / readme.TXT

Aquí 'a' representa la rama 'maestra' y 'b' representa la rama de desarrollo. La 'a' siempre se asigna al primer parámetro y la 'b' al segundo parámetro.  / Dev / null significa que la rama no tiene el archivo.


Comparando entre confirmaciones

En nuestro ejemplo, la rama 'maestra' tiene las siguientes confirmaciones:

estado de $ git
En el maestro de la sucursal
nada que confirmar, directorio de trabajo limpio
$ git log --en línea
caa0ddd C06: Léame modificado.txt para agregar una segunda línea (rama maestra)
efaba94 C03: Léame agregado.txt (rama maestra)
ee60eac C01: hello_world modificado.py para agregar un segundo hola (rama maestra)
22b4bf9 C00: Añadido hello_world.py (rama maestra)

La rama de desarrollo tiene las siguientes confirmaciones:

estado de $ git
Sobre el desarrollo de la rama
nada que confirmar, directorio de trabajo limpio
$ git log --en línea
df3a4ee C05: Información agregada.txt (rama de desarrollo)
0f0abb8 C04: hello_world modificado.py para agregar la rama de desarrollo dice Hola de nuevo (rama de desarrollo)
3f611a0 C02: hello_world modificado.py para agregar la rama de desarrollo dice Hola (rama de desarrollo)
22b4bf9 C00: Añadido hello_world.py (rama maestra)

Supongamos que queremos comparar hello_world.py para confirmaciones C01 y C02. Puede usar los hash para comparar:

$ git diff ee60eac: hello_world.py 3f611a0: hello_world.py
diff --git a / ee60eac: hello_world.py b / 3f611a0: hello_world.py
índice e27f806… 72a178d 100644
--- a / ee60eac: hello_world.py
+++ b / 3f611a0: hello_world.py
@@ -2,7 +2,7 @@
def principal ():
print ("Primer saludo!")
- print ("Segundo saludo!")
+ print ("La rama de desarrollo dice Hola")
if __name__ == "__main__":
principal()

También puede usar el mismo principio para comparar confirmaciones dentro de la misma rama.


Herramientas de fusión visual

Ver comparaciones basadas en texto puede ser difícil. Si configura Git difftool con una aplicación de fusión visual como DiffMerge o BeyondCompare, podrá ver mejor las diferencias.

Estudio adicional:

Referencias:

Cómo mostrar el contador de FPS en juegos de Linux
Los juegos de Linux obtuvieron un gran impulso cuando Valve anunció el soporte de Linux para el cliente Steam y sus juegos en 2012. Desde entonces, mu...
Cómo descargar y jugar Sid Meier's Civilization VI en Linux
Introducción al juego Civilization 6 es una versión moderna del concepto clásico introducido en la serie de juegos Age of Empires. La idea era bastant...
Cómo instalar y jugar a Doom en Linux
Introducción a Doom La serie Doom se originó en los años 90 después del lanzamiento del Doom original. Fue un éxito instantáneo y, desde ese momento e...