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 regresemos a la maestra y confirmemos nuevamente. Aquí están los comandos:
$mkdirmi juego
$cdmi juego
$git init
$echo 'Decisión de diseño 1: Brainstarm' >>design.txt
$git agregar -A
$git commit -metro 'C0: Proyecto iniciado'
$echo 'Decisión de diseño 2: Código de escritura' >>design.txt
$git agregar -A
$git commit -metro 'C1: Código enviado'
$rama de gitcaracterísticas
$git checkoutcaracterísticas
$echo 'Agregar función 1' >>feature.txt
$git agregar -A
$git commit -metro 'C2: Característica 1'
$echo 'Agregar función 2' >>feature.txt
$git agregar -A
$git commit -metro 'C3: Característica 2'
$git checkoutMaestro
$echo 'Modificando al Maestro otra vez' >>design.txt
$git agregar -A
$git commit -metro 'C4: Master Modificado'
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
$registro de git --una línea
2031b83 C4: Maestro modificado
1c0b64c C1: Código enviado
$git checkoutcaracterísticas
Cambiado a rama'características'
$registro de git --una línea
93d220b C3: Característica2
ad6ddb9 C2: Característica1
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 principal:
$git checkoutMaestroCambiado a rama'Maestro'
$estado de git
En el maestro de la sucursal
nada que confirmar, directorio de trabajo limpio
Ahora creemos la combinación:
$git mergecaracterísticas
Si no hay conflictos en la fusión, se abrirá un editor de texto con los comentarios:
Fusionar rama'características'# 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.
Puede modificar los comentarios o aceptar los predeterminados. La salida de la combinación debería mostrar resultados como este:
Fusión realizada por el'recursivo'estrategia.feature.txt| 2++
1 expedientecambió,2inserciones(+)
modo de creación100644feature.txt
Después de la fusión, tiene la siguiente condición:
Si revisa los registros, encontrará:
$estado de gitEn el maestro de la sucursal
nada que confirmar, directorio de trabajo limpio
$registro de git --una línea
46539a3 C5: Fusionar rama'características'
2031b83 C4: Maestro modificado
93d220b C3: Característica2
ad6ddb9 C2: Característica1
1c0b64c C1: Código enviado
ec0fb48 C0: Proyecto iniciado
Ha combinado correctamente los cambios. Sin embargo, la rama de funciones todavía está presente.
$rama de git -acaracterísticas
*Maestro
Puedes eliminarlo con el siguiente comando:
$rama de git -DcaracterísticasSi marca ahora, solo debería ver la rama maestra:
$rama de git -a*Maestro
Conclusión
Asegúrese de comprobar periódicamente si hay ramas no utilizadas y eliminarlas. Desea mantener limpio su repositorio para que sea más fácil de navegar y comprender.