Resolución de conflictos
Se produce un conflicto cuando se realizan cambios en el mismo elemento tanto en el área de trabajo como en el repositorio Git remoto. Cuando se produce un conflicto, el estado de Git indica Conflicto y Confirmación está deshabilitado.
Cuando seleccione Actualizar en caso de conflictos, un mensaje le notifica que necesita resolver los conflictos para poder actualizarlos.
Puede resolver un conflicto de tres maneras:
- Seleccione la versión que desea mantener a través de la interfaz de usuario.
- Revertir el área de trabajo o el repositorio Git a un estado sincronizado anterior.
- Resolver el conflicto en Git.
Resolver conflictos en la interfaz de usuario
Seleccione Actualizar todo para visualizar una lista de todos los elementos que tienen conflictos. A continuación, seleccione la versión de cada elemento que desea mantener. Para cada elemento en conflicto, puede aceptar los cambios entrantes del repositorio de Git o mantener la versión actual que se encuentra en el área de trabajo.
Seleccione Aceptar cambios entrantes para invalidar los cambios en el área de trabajo. Los cambios del área de trabajo se pierden y el estado de Git cambia a sincronizado si se importa correctamente.
Seleccione Mantener el contenido actual para mantener la versión actual en el área de trabajo. Una vez completada la actualización, el estado de Git se convierte en cambio pendiente de confirmación porque los cambios en el área de trabajo aún no se han confirmado en la rama.
Revertir a un estado anterior
Puede revertir el área de trabajo entera o la rama Git a su estado de última sincronización. Si revierte la rama de Git a una confirmación anterior, todavía podrá ver los cambios realizados en la rama no asincrónica. Si revierte el área de trabajo, todos los cambios realizados en el área de trabajo desde la última confirmación se perderán.
Para revertir al estado sincronizado anterior, realice uno de los siguientes pasos:
- Use el comando fase de reversión para devolver todos los elementos del área de trabajo a su último estado sincronizado.
- Revertir el último estado sincronizado en Git mediante el comando
git revert
en Azure DevOps.
También puede resolver conflictos desconectando y volviendo a conectar el área de trabajo. Cuando vuelva a conectarse, seleccione la dirección que desea sincronizar. in embargo, tenga en cuenta, que cuando se vuelve a conectar, se sobrescriben todos los elementos del área de trabajo o de la rama y no solo los que están en conflicto. No devuelve el área de trabajo ni la rama al último estado sincronizado. En su lugar, sobrescribe todo el contenido de una ubicación con el contenido del otro.
Resolución de conflictos en git
Si no está seguro de qué cambios se hicieron y qué versión elegir y no quiere volver a un estado anterior, puede intentar resolver el conflicto en el repositorio Git creando una nueva rama, resolviendo el conflicto en esa rama y sincronizándola con la actual.
Nota:
Solo el administrador del área de trabajo puede volver a conectar el área de trabajo a la nueva rama.
En el panel Control de código fuente, consulte una nueva rama con el id. de la última rama sincronizada que aparece en la parte inferior de la pantalla.
En este paso se crea una nueva rama a partir de la rama en conflicto mediante el último estado de Git sincronizado, antes de que alguien realizara cambios que entraran en conflicto con los cambios realizados por usted. Puede ver los cambios en el panel Control de código fuente, pero no hay nada que actualizar desde la rama de Git. La rama de restauración mantiene el estado actual del área de trabajo, por lo que los cambios no confirmados se conservan al cambiar la rama.
Confirme los cambios en la nueva rama. Esta nueva rama ahora tiene los cambios realizados en los elementos conectados a una versión anterior de la rama Git que no entra en conflicto con los cambios.
En git, resuelva los conflictos entre la rama original y la nueva rama.
En git, combine la nueva rama en la rama original
En Fabric, cambie el área de trabajo de nuevo a la rama original.