Esquema de gestión de sucursales:
La sucursal es equivalente a la línea de montaje en la fábrica y las sucursales no se afectarán entre sí.
Domine el flujo de trabajo de Git (1) -operaciones básicas de git
Domine el flujo de trabajo de Git (2) - git branch management
Domine el flujo de trabajo de Git (3) - flujo de trabajo de git
1. Operación básica de git branch
También se puede entender como dos oleoductos;
HEAD apunta a la rama actual y la rama apunta a la versión actual.
El proceso de creación y cambio de ramas es el siguiente:
Crear una rama es crear un puntero de desarrollo a un nodo, y cambiar una rama es usar HEAD para apuntar a la rama de desarrollo.
el maestro todavía está en su posición original
git checkout master es equivalente a apuntar directamente HEAD a la rama master;
Fusionar es equivalente a operar directamente en HEAD y master, moviéndolos a la rama dev;
La combinación rápida consiste en mover el puntero directamente al nodo de la versión actual.
Conflicto de resolución de dos ramas de git
A veces, la fusión de ramas no siempre es exitosa.
La imagen ahora muestra esta situación:
Hay nuevas confirmaciones en ambas ramas, y la edición del mismo archivo provocará conflictos al fusionar. Los conflictos deben resolverse manualmente y se debe realizar una nueva confirmación
Al fusionar ramas, pueden surgir conflictos. La solución es primero averiguar en qué archivo se encuentra el conflicto a través del estado de git, y luego resolver manualmente el archivo en conflicto y enviarlo nuevamente.
Tres. Estrategia de gestión de sucursales de sucursales de Git
Nota: en este momento, fusionar el contenido de dev con master no causará conflictos. Habrá conflictos cuando ambas ramas tengan sus propias confirmaciones y editen el mismo archivo. Pero no habrá ningún conflicto en este momento, pero no se puede enviar rápidamente. Cuando la fusión rápida falla y no hay conflicto, se realizará una nueva confirmación después de la fusión.
El proceso anterior se muestra en la figura:
Aparecerá un mensaje emergente:
Ingrese la información de combinación:
El efecto en este momento es el siguiente:
Cree y cambie a la rama dev como se muestra en la figura, mueva HEAD y apunte a la rama dev:
La correspondencia se muestra en la figura:
Mueva HEAD al maestro de nuevo:
Ahora, si usa git merge dev directamente, realizará una fusión rápida, porque hay registros de confirmación en la rama dev, pero no en la rama maestra.
Pero a veces, para guardar los registros enviados, debemos prohibir manualmente la combinación rápida.
Después de prohibir la fusión rápida, se fusionará y hará un nuevo envío. Luego, el nuevo envío debe tener una información de descripción, simplemente agregue la información de descripción después de -m.
La figura correspondiente es la siguiente, mueva la actualización maestra anterior hacia arriba:
P: ¿Cuál es la diferencia entre fusión rápida y prohibir el modo de fusión rápida?
La combinación rápida no muestra los registros combinados en el registro de git.
Entonces, ¿cuándo prohibiremos el modo de fusión rápida?
Debido a que su trabajo no se ha completado en este momento, no puede enviarlo directamente.
En este punto, mirando el estado de git nuevamente, el espacio de trabajo se vuelve limpio.