Git

Conceptos básicos de la fusión y eliminación de ramas de Git

Conceptos básicos de la fusión y eliminación de ramas de Git
La ramificación puede ayudarlo a mantener su trabajo organizado. Sin embargo, debe poder fusionar su trabajo para que el trabajo sea coherente. Si nunca fusiona y elimina las ramas, su historial puede volverse demasiado caótico para comprender.

Trabajar con fusión y eliminación de ramas

Primero creemos una rama maestra, agreguemos algunas confirmaciones, creemos una nueva rama llamada características, agreguemos algunas confirmaciones, luego volvamos a la maestra y volvamos a confirmar. Aquí están los comandos:

$ mkdir mygame
$ cd mygame
$ git init
$ echo "Decisión de diseño 1: Brainstarm" >> diseño.TXT
$ git add -A
$ git commit -m "C0: Proyecto iniciado"
$ echo "Decisión de diseño 2: Código de escritura" >> diseño.TXT
$ git add -A
$ git commit -m "C1: Código enviado"
Funciones de $ git branch
$ git checkout características
$ echo "Agregar función 1" >> función.TXT
$ git add -A
$ git commit -m "C2: Característica 1"
$ echo "Agregar función 2" >> función.TXT
$ git add -A
$ git commit -m "C3: Característica 2"
$ git checkout master
$ echo "Modificando maestro otra vez" >> diseño.TXT
$ git add -A
$ git commit -m "C4: Master Modified"

Los comandos anteriores crearon la siguiente situación:

Puede consultar el historial de las dos ramas para ver qué confirmaciones tienen:

estado de $ git
En el maestro de la sucursal
nada que confirmar, directorio de trabajo limpio
$ git log --en línea
2031b83 C4: Maestro modificado
1c0b64c C1: Código enviado
 
$ git checkout características
Cambiado a las 'características' de la rama
 
$ git log --en línea
93d220b C3: Característica 2
ad6ddb9 C2: Característica 1
1c0b64c C1: Código enviado
ec0fb48 C0: Proyecto iniciado

Ahora supongamos que desea llevar todos los cambios de la rama de características a nuestra rama maestra. Deberá iniciar el proceso desde el destino de la fusión. Debido a que queremos fusionarnos en la rama maestra, debe iniciar el proceso desde allí. Así que echemos un vistazo a la rama maestra:

$ git checkout master
Cambiado a la rama 'maestra'
 
estado de $ git
En el maestro de la sucursal
nada que confirmar, directorio de trabajo limpio

Ahora creemos la combinación:

$ git merge características

Si no hay conflictos en la fusión, se abrirá un editor de texto con los comentarios:

Fusionar las 'características' de la rama
 
# Ingrese un mensaje de confirmación para explicar por qué es necesaria esta fusión,
# especialmente si fusiona un upstream actualizado en una rama de tema.
#
# Las líneas que comienzan con '#' serán ignoradas y un mensaje vacío abortará
# el compromiso.

Puedes modificar los comentarios o aceptar los predeterminados. La salida de la combinación debería mostrar resultados como este:

Fusión realizada por la estrategia 'recursiva'.
característica.txt | 2 ++
1 archivo modificado, 2 inserciones (+)
función de modo de creación 100644.TXT

Después de la fusión, tiene la siguiente condición:

Si revisa los registros, encontrará:

estado de $ git
En el maestro de la sucursal
nada que confirmar, directorio de trabajo limpio
 
$ git log --en línea
46539a3 C5: Fusionar 'características' de la rama
2031b83 C4: Maestro modificado
93d220b C3: Característica 2
ad6ddb9 C2: Característica 1
1c0b64c C1: Código enviado
ec0fb48 C0: Proyecto iniciado

Has combinado con éxito los cambios. Sin embargo, la rama de funciones todavía está presente.

$ git branch -a
características
* Maestro

Puedes eliminarlo con el siguiente comando:

$ git branch -d características

Si marca ahora, solo debería ver la rama maestra:

$ git branch -a
* Maestro

Conclusión

Asegúrese de verificar regularmente si hay ramas no utilizadas y elimínelas. Desea mantener limpio su repositorio para que sea más fácil de navegar y comprender.

Otras lecturas:

Cómo instalar League Of Legends en Ubuntu 14.04
Si eres fanático de League of Legends, esta es una oportunidad para que pruebes League of Legends. Tenga en cuenta que LOL es compatible con PlayOnLin...
Instale el último juego de estrategia de OpenRA en Ubuntu Linux
OpenRA es un motor de juego de estrategia en tiempo real libre / gratuito que recrea los primeros juegos de Westwood como el clásico Command & Conquer...
Instale el último emulador de Dolphin para Gamecube y Wii en Linux
Dolphin Emulator te permite jugar los juegos de Gamecube y Wii que elijas en computadoras personales con Linux (PC). Al ser un emulador de juegos de ...