Compartir vía


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.

Captura de pantalla de un informe con un estado Git que dice conflicto.

Importante

Esta característica se encuentra en versión preliminar.

Cuando seleccione Actualizar en caso de conflictos, un mensaje le notifica que necesita resolver los conflictos para poder actualizarlos.

Captura de pantalla del mensaje de error de la pestaña de control de código fuente que informa de los conflictos.

Puede resolver un conflicto de tres maneras:

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.

Captura de pantalla de la interfaz de usuario para seleccionar qué versión de cada elemento en conflicto desea conservar.

  • 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.

  1. 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.

    Captura de pantalla que muestra cómo modificar una nueva rama desde el panel Control de código fuente al seleccionar la flecha hacia abajo.

    Captura de pantalla de la rama de información de identificación 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.

  2. 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.

  3. En git, resuelva los conflictos entre la rama original y la nueva rama.

  4. En git, combine la nueva rama en la rama original

  5. En Fabric, cambie el área de trabajo de nuevo a la rama original.