Capítulo 4 Operación de rama de Git

4.1 ¿Qué es una sucursal?

En el proceso de control de versiones, varias tareas se impulsan al mismo tiempo. Para cada tarea, podemos crear una

rama. El uso de ramas significa que los programadores pueden separar su trabajo de la línea principal de desarrollo, y al desarrollar sus propias ramas

En este momento, no afectará el funcionamiento de la sucursal principal. Para los principiantes, una rama puede entenderse simplemente como una copia, una rama es

una copia separada. (La capa inferior de la rama es en realidad una referencia al puntero)

4.2 Beneficios de la ramificación

Promover simultáneamente el desarrollo de múltiples funciones en paralelo para mejorar la eficiencia del desarrollo.

Durante el proceso de desarrollo de cada rama, si falla el desarrollo de una determinada rama, no tendrá ningún impacto en otras ramas. fallar

Elimine la rama y comience de nuevo.

4.3 Operación de sucursales

4.3.1 Ver rama

1) Gramática básica

git rama -v

2) Práctica de casos

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro)

$ git rama -v

* master 087a1a7 mi tercer compromiso (* representa la partición actual)

4.3.2 Crear una sucursal

1) Gramática básica

nombre de la rama de la rama de git

2) Práctica de casos

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro)

arreglo en caliente de la rama de $ git

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro)

$ git rama -v

hot-fix 087a1a7 mi tercer compromiso (nueva rama recién creada, y el maestro de rama principal

Se copia el contenido de la copia)

* maestro 087a1a7 mi tercer compromiso

4.3.3 Modificar rama

-- Hacer cambios en la rama principal

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro)

$ vim hola.txt

--Agregar área de preparación

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro)

$ git agregar hola.txt

--Enviar a la biblioteca local

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro)

$ git commit -m "mi cuarta confirmación" hola.txt

[master f363b4c] mi cuarta confirmación

1 archivo modificado, 1 inserción (+), 1 eliminación (-)

-- ver rama

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro)

$ git rama -v

revisión 087a1a7 mi tercer compromiso (la rama de revisión no realizó ningún cambio)

* master f363b4c mi cuarta confirmación (la rama maestra actual se ha actualizado a la última confirmación

versión de)

-- Ver el contenido de los archivos en la rama principal

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro)

$ gato hola.txt

hola git! hola atguigu! 22222222222222

hola git! hola atguigu! 3333333333333

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu! prueba maestra

hola git! hola atguigu!

4.3.4 Cambiar de rama

1) Gramática básica

nombre de la rama de pago de git

2) Práctica de casos

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro)

revisión de $ git checkout

Cambiado a rama 'hot-fix'

-- Se encontró que la rama actual se ha cambiado de maestro a revisión

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (corrección)

ps

-- Verifique el contenido del archivo en la rama de revisión y descubra que es diferente del contenido en la rama maestra

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (corrección)

$ gato hola.txt

hola git! hola atguigu! 22222222222222

hola git! hola atguigu! 3333333333333

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

-- Hacer cambios en la rama de revisión

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (corrección)

$ gato hola.txt

hola git! hola atguigu! 22222222222222

hola git! hola atguigu! 3333333333333

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu! prueba de revisión

--Agregar área de preparación

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (corrección)

$ git agregar hola.txt

--Enviar a la biblioteca local

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (corrección)

$ git commit -m "compromiso de revisión" hola.txt

4.3.5 Fusión de sucursales

1) Gramática básica

git merge branchname

2) Caso práctico Combinar la rama de revisión en la rama principal

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro)

$ git merge revisión

hola.txt de fusión automática

CONFLICTO (contenido): Combinar conflicto en hello.txt

Fusión automática fallida; solucione los conflictos y luego confirme el resultado.

4.3.6 Conflictos

La actuación del conflicto: el estado subsiguiente es FUSIÓN

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro|FUSIÓN)

$ gato hola.txt

hola git! hola atguigu! 22222222222222

hola git! hola atguigu! 3333333333333

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu! prueba maestra

hola git! hola atguigu!

=======

hola git! hola atguigu!

hola git! hola atguigu! prueba de revisión

>>>>>>> revisión

Causa del conflicto:

Al fusionar ramas, las dos ramas tienen dos conjuntos de modificaciones completamente diferentes en la misma ubicación en el mismo archivo. Git no puede reemplazar

Nosotros decidimos cuál usar. El contenido del nuevo código debe decidirse manualmente.

Consultar el estado (se han detectado dos modificaciones en el expediente)

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro|FUSIÓN)

$ git estado

En maestro de rama

Tienes caminos no fusionados.

(solucionar conflictos y ejecutar "git commit")

(use "git merge --abort" para cancelar la fusión)

Rutas no fusionadas:

(use "git add ..." para marcar la resolución)

ambos modificados: hola.txt

no se agregaron cambios para confirmar (use "git add" y/o "git commit -a")

4.3.7 Resolución de conflictos

1) Edite los archivos en conflicto, elimine símbolos especiales, decida qué usar

Símbolos especiales: el código de la rama actual ======= código fusionado >>>>>>> hot-fix

hola git! hola atguigu! 22222222222222

hola git! hola atguigu! 3333333333333

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu!

hola git! hola atguigu! prueba maestra

hola git! hola atguigu! prueba de revisión

2) Agregar al área de preparación

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro|FUSIÓN)

$ git agregar hola.txt

3) Ejecute la confirmación (nota: el nombre del archivo no se puede usar cuando se usa el comando git commit en este momento)

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro|FUSIÓN)

$ git commit -m "combinar revisión"

[maestro 69ff88d] combinación de revisión

--Se encontró que la FUSIÓN desapareció y se volvió normal

Layne@LAPTOP-Layne MINGW64 /d/Git-Space/SH0720 (maestro)

4.4 Crear rama y cambiar diagrama de rama

master y hot-fix son en realidad punteros a registros de versiones específicas. La rama actual en realidad es creada por HEAD

decidido. Entonces, la esencia de crear una rama es crear un puntero más.

Si HEAD apunta a maestro, ahora estamos en la rama maestra.

HEAD Si hicimos una revisión, ahora estamos en la rama de revisión.

Entonces, la esencia de cambiar de rama es mover el puntero HEAD.

Supongo que te gusta

Origin blog.csdn.net/wzw_wwl/article/details/126222176
Recomendado
Clasificación