Trabajar con fusionar y eliminar ramas
Primero creemos una rama maestra, coloquemos algunas compromisos, creemos una nueva rama llamada características, agregamos algunas comitaciones, luego volvamos a maestro y vuelva a cometer un cometer nuevamente. 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"
Características de la rama de $ git
Funciones de pago de $ git
$ echo "Agregar función 1" >> característica.TXT
$ git add -a
$ git commit -m "c2: característica 1"
$ echo "Agregar función 2" >> característica.TXT
$ git add -a
$ git commit -m "c3: característica 2"
$ git checkout maestro
$ echo "modificando el maestro nuevamente" >> diseño.TXT
$ git add -a
$ git commit -m "c4: maestro modificado"
Los comandos anteriores crearon la siguiente situación:
Puede verificar la historia de las dos ramas para ver qué comprometidos tienen:
Estado de $ git
En rama maestro
Nada para comprometerse, Directorio de trabajo limpio
$ git log -enneline
2031B83 C4: Master Modified
1C0B64C C1: código enviado
Funciones de pago de $ git
Cambiado a las 'características' de la rama '
$ git log -enneline
93d220b C3: característica 2
AD6DDB9 C2: Característica 1
1C0B64C C1: código enviado
EC0FB48 C0: Proyecto iniciado
Ahora supongamos que desea traer todos los cambios de la rama de características a nuestra rama maestra. Tendrá que comenzar 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 vamos a ver la rama maestra:
$ git checkout maestro
Cambio a la rama 'maestro'
Estado de $ git
En rama maestro
Nada para comprometerse, Directorio de trabajo limpio
Ahora creemos la fusión:
$ git fusion Features
Si no hay conflictos en la fusión, obtendrá un editor de texto abierto con los comentarios:
Fusionar 'características de la rama'
# Ingrese un mensaje de confirmación para explicar por qué esta fusión es necesaria,
# Especialmente si fusiona un río arriba actualizado en una rama de temas.
#
# Las líneas que comienzan con '#' serán ignoradas y un mensaje vacío aborta
# el compromiso.
Puede modificar los comentarios o aceptar los predeterminados. La salida de fusión debe mostrar resultados como este:
Fusionar hecha por la estrategia 'recursiva'.
característica.txt | 2 ++
1 archivo cambiado, 2 inserciones (+)
Crear función 100644.TXT
Después de la fusión, tiene la siguiente condición:
Si verifica los registros, encontrará:
Estado de $ git
En rama maestro
Nada para comprometerse, Directorio de trabajo limpio
$ git log -enneline
46539A3 C5: Características de la rama de fusión '
2031B83 C4: Master Modified
93d220b C3: característica 2
AD6DDB9 C2: Característica 1
1C0B64C C1: código enviado
EC0FB48 C0: Proyecto iniciado
Has fusionado con éxito los cambios. Sin embargo, la rama de características todavía está presente.
$ git rama -a
características
* maestro
Puede eliminarlo con el siguiente comando:
Características de $ Git Branch -d
Si verifica ahora, solo debe ver la rama maestra:
$ git rama -a
* maestro
Conclusión
Asegúrese de verificar regularmente las ramas no utilizadas y eliminarlas. Desea mantener su repositorio limpio para que sea fácil navegar y comprender.