Cómo verificar el conflicto de fusión en Git

Cómo verificar el conflicto de fusión en Git
Múltiples usuarios pueden trabajar con múltiples sucursales en cualquier repositorio de Git para realizar un seguimiento de sus tareas de proyecto. A veces requiere fusionar el contenido de una rama a otra rama. Esta tarea se puede hacer muy fácilmente usando el 'git fusionar' dominio. Pero el conflicto de fusión surge cuando dos o más usuarios de GIT del mismo proyecto están trabajando en el mismo archivo y realizando las diferentes tareas en ese archivo, como un usuario está agregando contenido al archivo y otro usuario está eliminando el contenido del archivo. No es posible que el git seleccione el archivo correcto para la actualización. El conflicto de fusión también puede aparecer donde el usuario modifica un archivo de repositorio local en múltiples ramas. Git marcará el archivo como conflicto de fusiones, y los usuarios de GIT deben resolver este problema antes de continuar el trabajo. Las formas de verificar el conflicto de fusión para un repositorio local y resolver este problema se han explicado en este tutorial.

Prerrequisitos:

Instalar escritorio Github

Github Desktop ayuda al usuario de GIT a realizar las tareas relacionadas con GIT gráficamente. Puede descargar fácilmente el último instalador de esta aplicación para Ubuntu desde Github.comunicarse. Debe instalar y configurar esta aplicación después de descargar para usarla. También puede verificar el tutorial para instalar GitHub Desktop en Ubuntu para conocer el proceso de instalación correctamente.

Crear un repositorio local

Debe crear un repositorio local para probar los comandos utilizados en este tutorial para verificar y resolver conflictos de fusiones.

Revise el conflicto de fusión:

Puede crear un nuevo repositorio local o cualquier repositorio existente para verificar los comandos utilizados en esta parte de este tutorial. He usado un repositorio local existente llamado intento y abrió la carpeta del repositorio desde el terminal. Ejecute los siguientes comandos Para verificar la lista de sucursales existentes, cambie a la maestro ramificarse y crear un archivo llamado configuración.TXT usando nano editor.

$ GIT Branch
$ git checkout maestro
Configuración de $ nano.TXT

La siguiente salida muestra que hay tres ramas en el repositorio y el principal La rama está activa inicialmente. A continuación, la rama activa ha cambiado a maestro. El editor de Nano se abrirá después de ejecutar la configuración 'Nano.comando de txt '.

Puede agregar cualquier contenido al archivo. El siguiente contenido se ha agregado en el configuración.TXT Archivo aquí.

Sigue las instrucciones…

Ejecute los siguientes comandos para agregar la configuración.archivo txt en el repositorio, confirme la tarea con el mensaje de confirmación y verifique el estado actual del repositorio.

$ git agregar configuración.TXT
Configuración de $ git commit -m ".se agrega txt "
Estado de $ git

La siguiente salida muestra que se inserta un archivo en el repositorio con el mensaje de confirmación, y el árbol de trabajo ahora está limpio para el maestro rama.

Ejecute los siguientes comandos para cambiar la rama actual a la secundario y abra el editor nano para agregar el contenido para el configuración.TXT archivo que ya ha sido editado en el maestro rama.

$ git checkout secundario
Configuración de $ nano.TXT

La siguiente salida aparecerá después de ejecutar el comando anterior.

Puede agregar cualquier contenido al archivo. El siguiente contenido se ha agregado en el configuración.TXT Archivo aquí.

Lee las instrucciones…

Ejecute los siguientes comandos para agregar el configuración.TXT Archivo en el repositorio, confirme la tarea con el mensaje de confirmación y verifique el estado actual del repositorio.

$ git agregar configuración.TXT
Configuración de $ git commit -m ".se agrega txt para la rama secundaria."
Estado de $ git

La siguiente salida muestra que el configuración.TXT Se ha agregado un archivo a la rama secundaria del repositorio.

configuración.TXT El archivo ha sido modificado en ramas maestras y secundarias. Ejecute los siguientes comandos para cambiar a la maestro ramificarse y fusionar el contenido del secundario rama a la maestro rama.

$ git checkout maestro
$ git fusión secundaria

La siguiente salida muestra que el conflicto de fusión ha aparecido porque el mismo archivo se ha modificado en ambos bancos.

Resolver el conflicto de fusión:

Ejecute el siguiente comando para verificar el contenido del configuración.TXT Archivo antes de resolver el conflicto de fusión.

$ Cat Configuración.TXT

La siguiente salida muestra que el configuración.TXT El archivo contiene el contenido agregado en ambas ramas con algunos símbolos adicionales. Los siete personajes (<<<<<<<) with HEAD has added before the committed content of the maestro rama, y ​​los siete caracteres de signo igual (=======) han agregado antes del contenido comprometido del secundario rama. Los siete más grandes que los personajes (>>>>>>>) han agregado con el secundario Nombre de la rama al final del archivo. Aquí el menos que El carácter indica la edición de la rama actual. El signo igual indica el final de la primera edición. El mas grande que El carácter indica el final de la segunda edición.

Ejecute el siguiente comando para verificar el estado actual del repositorio.

Estado de $ git

La siguiente salida muestra que puede anular la operación de fusión o agregar el archivo nuevamente después de editar y confirmar la tarea antes de ejecutar el comando de fusión nuevamente.

Abra el archivo en el editor nano y modifique el contenido en función del requisito eliminando todos los símbolos.

Configuración de $ nano.TXT

El siguiente contenido se ha agregado al archivo eliminando todo el contenido anterior aquí.

Lea las instrucciones correctamente ..

Ejecute los siguientes comandos para agregar el archivo, verifique el estado actual del archivo y complete la operación de fusión.

$ git agregar configuración.TXT
Estado de $ git
$ git comet

La siguiente salida muestra que el conflicto de fusión se ha solucionado, y la rama secundaria se ha fusionado después de ejecutar el 'Git Commit' dominio.

Conclusión:

Las formas de detectar y resolver el conflicto de fusión local del repositorio Git se han mostrado en este tutorial mediante el uso de un repositorio local de demostración. Espero que el concepto del conflicto de fusión sea autorizado para los lectores y resolverá este tema después de leer este tutorial.