Conflictos de combinación, «Problemas de relación»
Una operación de combinación combina el contenido de dos ramas que tienen un ancestro común pero que han recibido cambios diferentes. La fusión selectiva de ramas se realiza principalmente en Ramas de Git ver usando el Combinar comando. Una operación de fusión también se incluye en una acción de extracción.
Durante la operación de combinación se detectan diferentes estados de las ramas de origen y destino y se denominan conflictos. Una estructura de proyecto no permitida resultante de una fusión se identifica como un «problema de relación». Dependiendo de la opción seleccionada, CODESYS Git intenta resolver automáticamente estos conflictos siempre que sea posible, o deja que el usuario decida resolverlos.
Una vez resuelto el conflicto, CODESYS Git siempre trata de Resincronizar (vuelva a leer el proyecto desde el almacenamiento de proyectos). Esto se hace cerrando el proyecto que está abierto CODESYS y creando uno nuevo desde el almacenamiento.
CODESYS Git distingue entre dos tipos de problemas a resolver que pueden ocurrir durante la fusión:
Conflictos: Conflictos puros de Git: uno o más objetos recibieron cambios contrapuestos. Pueden ser diferentes cambios en el contenido de un objeto.
La «estrategia básica de fusión de conflictos» se establece en el Opciones de combinación de Git en el Ramas de Git vista. En función de esta configuración, se ejecuta una resolución automática de conflictos siempre que es posible, se lleva a cabo una acción de aceptación básica en una dirección específica o los conflictos se gestionan manualmente.
En caso de resolución manual de conflictos, los objetos en conflicto se muestran como tales en el Estado y puesta en escena vista. Al hacer doble clic en un objeto conflictivo, se abre una vista de comparación. En la vista de comparación, los cambios que se originan en las dos ramas se muestran uno al lado del otro. Puede eliminar las diferencias en los contenidos aceptándolas específicamente. Si se trata únicamente de conflictos de espacio de nombres, debe resolverlos cambiando el nombre o eliminándolos del árbol del proyecto. Haga clic en «Aplicar» para resolver el conflicto. Después de eso, el objeto anteriormente conflictivo se mueve automáticamente al área de «Cambios por etapas».
«Problemas de relación»: Los cambios contradictorios han dado lugar a una estructura de proyecto no válida en CODESYS, lo que no puede gestionar la función de combinación de Git. Es posible que los cambios se hayan realizado de forma externa en el sistema de archivos con herramientas externas. O bien, se cometió la creación simultánea de un objeto del mismo tipo o del mismo nombre desde diferentes ramas y, a continuación, este objeto se ubica en el mismo espacio de nombres CODESYS proyecto. Esto no está permitido en un CODESYS proyecto. O se ha producido una relación entre padre e hijo no válida. Otra posibilidad es que los problemas de relación tengan su origen en fusiones anteriores, en las que se ignoraron deliberadamente para poder seguir trabajando por el momento
Por ejemplo, ocurre una situación en la que se insertan dos configuraciones de alarma debajo de un dispositivo, lo cual no está permitido.
El usuario debe corregir manualmente la estructura del proyecto utilizando los medios disponibles (fusionar un objeto con otro, eliminarlo, cambiarle el nombre o moverlo) para volver a obtener un proyecto coherente.
Importante
A partir de la versión 1.2.0.0, un proyecto también puede seguir procesándose con problemas de relación existentes (ignorar). Atención: en ese caso, los cambios en el proyecto se descartan si se realiza una resincronización posterior. Motivo: la operación de resincronización carga la versión del proyecto del sistema de archivos que se guardó antes de que se ignorara el
En el Estado y puesta en escena En esta vista, usted, como usuario, puede comprobar y editar un conflicto de la siguiente manera:
Helpful commands are available in the context menu of a conflicting object. The current selection depends on the situation:
Mostrar todos los objetos afectados / Mostrar este objeto: Los objetos u objetos se resaltarán en el Dispositivos vista del proyecto.
Resuelva usando el suyo: Se aplica el estado de la rama de origen.
Resuelva usando el nuestro: Se aplica el estado de la rama objetivo.
Resolver automáticamente: CODESYS Git intenta consolidar los cambios en sí mismo.
Marcar como resuelto: Se aplica el objeto que existe actualmente en el proyecto y se considera la resolución del conflicto. Se ha preparado el objeto correspondiente.
Ignorar el problema de relación: El problema de la relación se ignora hasta la próxima resincronización. Esto puede resultar útil cuando solo quieres poder seguir trabajando en un proyecto y el conflicto no importa
Al hacer doble clic en un objeto conflictivo, se abre la vista de comparación del contenido de las ramas de origen y destino. En el caso de contenidos que compitan entre sí, los contenidos se pueden aplicar de una rama a la otra según se desee
En el Mensajes En esta vista, puede hacer doble clic en un mensaje de error relacionado con un conflicto para abrir el objeto afectado.