Resolver conflictos del control de versiones de Team Foundation
Azure Repos | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 | TFS 2017 | TFS 2015 | VS 2017 | VS 2015 | VS 2013
Una ventaja de usar el control de versiones de Team Foundation para administrar los archivos es que varias personas pueden trabajar simultáneamente en un archivo. Una desventaja es que a veces debe resolver los conflictos para poder obtener, proteger, retomar cambios aplazados, combinar o revertir los archivos.
Aunque puede ser frustrante encontrar conflictos, el sistema proporciona información y herramientas que le ayudarán a entenderlos y resolverlos.
Resolución de conflictos
Utilice la ventana Resolver conflictos para resolver los conflictos que son un obstáculo.
De forma predeterminada, la ventana muestra solo los conflictos producidos por la operación más reciente que ha intentado realizar. Cuando la ventana está en este estado, aparece un mensaje que comienza: Filtro de ruta de acceso aplicado. Para mostrar todos los conflictos en el área de trabajo, elija Obtener todos los conflictos. Aparece un mensaje que comienza por: n Conflictos.
Si ha trascurrido mucho tiempo desde que realizó los cambios en los archivos del área de trabajo, puede que se hayan producido nuevos conflictos. Para actualizar la ventana Resolver conflictos, elija Actualizar.
Cada conflicto contiene información y, a veces, vínculos que pueden ayudarle a resolverlo. Para obtener más información, seleccione el conflicto y elija:
Historial para ver el historial del archivo. Si la operación que produjo el conflicto es una combinación o una reversión, puede elegir el control de menú situado a la derecha de Historial y, a continuación, seleccionar Historial de origen o Historial de destino.
Anote para ver detalles sobre todos los cambios realizados en la versión más reciente del archivo, incluido quién realizó cada cambio y cuándo lo hizo. Consulte Visualización de cambios de archivos mediante anotación.
Compare (o el menú situado a la derecha del botón y, a continuación, elija un comando). Aparece la ventana Diferencia.
Resolver automáticamente todos los conflictos
De forma predeterminada, el sistema intenta resolver automáticamente todos los conflictos a menos que haya desactivado esta opción (consulte Sugerencias). En la ventana Resolver conflictos, también puede elegir manualmente Reresolve Ally, a continuación, elegir:
Seleccione Todos los tipos de conflicto si desea que el sistema intente resolver los conflictos automáticamente mediante toda su heurística.
Seleccione Tipos de conflicto específicos si desea que el sistema intente resolver los conflictos, pero quiere excluir algunas heurísticas.
Aparece el cuadro de diálogo Elegir conflictos para resolver. Active o desactive las opciones que desea habilitar o deshabilitar y, a continuación, elija Volver a activar automáticamente. Para obtener más información, vea Comprender las opciones automáticas a continuación.
El sistema intenta resolver automáticamente los conflictos mostrados en la ventana Cambios pendientes. Cualquier conflicto que el sistema no pueda resolver permanecerá en la ventana. Tiene que resolver manualmente estos conflictos.
Combinar automáticamente un único conflicto
Elija AutoMerge si desea intentar resolver los conflictos seleccionados con todas las opciones de AutoMerge descritas en Descripción de las opciones automáticas que se indican a continuación.
Sugerencia
Puede mantener presionadas la tecla Ctrl o Mayús mientras selecciona varios conflictos.
Nota
Si AutoMerge está deshabilitado, este conflicto debe resolverse manualmente.
Resolver manualmente un único conflicto
Si el sistema no puede resolver automáticamente un conflicto o si quiere asegurarse de que entiende los cambios, debe resolver manualmente el conflicto. En cada conflicto, el sistema muestra las medidas que se pueden tomar para resolver dicho conflicto. Las medidas mostradas dependen del tipo de conflicto y de la operación que produjo el conflicto.
Combinar los cambios en la herramienta de combinación
Cuando un conflicto se debe a cambios de contenido en conflicto, puede elegir Combinar cambios en la herramienta de combinación.
Si elige esta acción, aparecerá la ventana Combinar.
El resultado del trabajo para resolver el conflicto se muestra en el panel Resultados.
En esta ventana, puede:
Seleccione el diseño de la ventana: Vista vertical,Vista horizontal,Vista mixta.
Navegar por las diferencias y los conflictos.
Seleccionar elementos en las versiones de la izquierda y la derecha del archivo para incluirlas en el resultado.
Escribir contenido adicional en el archivo del panel de resultados.
Ver el historial del archivo. Vea Obtener el historial de un elemento.
Comparar las distintas versiones del archivo.
Anotar el archivo para ver quién hizo las modificaciones y qué cambió. Consulte Visualización de cambios de archivos mediante anotación.
Cuando esté satisfecho con el contenido del panel Resultado, elija Aceptar combinación.
Comprender las opciones automáticas
En casos especiales, es posible que desee restringir los tipos de conflictos resueltos automáticamente mediante la opción Reresolve All (Responder automáticamente a todos).
Al elegir Reresolve Automático todoy, a continuación, Tipos de conflictoespecíficos , aparece el cuadro de diálogo Elegir conflictos para resolver.
Si desea que el sistema resuelva automáticamente los conflictos que se produjeron porque...
Como se explica en este ejemplo...
A continuación, active esta casilla...
Se realizaron cambios de contenido no conflictivos en cada versión de un archivo
En la versión de archivo de la izquierda, se agregó un cero al principio. En el archivo de la derecha, se agregó un tres al final:

Conflictos con cualquier cambio de contenido
Se realizaron cambios de contenido que son únicos en el área de trabajo (durante una operación de obtener o proteger) o en la versión de destino (durante una operación de combinar o revertir)
se agregaron cuatro y cinco al área de trabajo o la versión de destino:

Conflictos con cambios de contenido realizados solo en el área de trabajo local o en la bifurcación de destino
Se realizaron cambios de contenido que son únicos en el servidor (durante una operación de obtener o proteger) o en la versión de origen (durante la fusión mediante combinación o la operación de revertir)
seagregaron cuatro y cinco al servidor o a la versión de origen:

Conflictos con cambios de contenido realizados solo en la versión del servidor o en la bifurcación de origen
Se cambió el nombre de un archivo en el servidor (durante una operación de obtener o proteger) o en la bifurcación de origen (durante operación de fusión mediante combinación o revertir)
Desprotegía un archivo denominado launch.cs y ha trabajado en él. Durante ese tiempo, alguien más protegió un conjunto de cambios que afectaba al mismo archivo. Ese conjunto de cambios no modificaba el contenido del archivo, pero cambiaba el nombre del archivo a start.cs.
Conflictos causados al cambiar el nombre de un archivo en la versión de servidor o en la bifurcación de origen
Se realizaron cambios de contenido comunes que resultaron en un contenido idéntico en cada versión
Ha cambiado un archivo, lo ha registrado a través de una compilación de registro controlado y ha seleccionado la opción Conservar mis cambios pendientes localmente.
Los cambios en cada versión dieron como resultado un contenido idéntico de los archivos. Los cambios pueden realizarse en el contenido de los archivos, como se muestra en el siguiente ejemplo:
Esta opción también resuelve los conflictos causados por todas las demás operaciones (por ejemplo, cambiar el nombre, eliminar, recuperar y bifurcar) y que tienen como resultado archivos idénticos.
Sugerencia
Si activa esta casilla, al continuar el sistema resolverá estos cambios tomando (descargando) la versión de servidor en el área de trabajo.
Conflictos causados por un cambio idéntico en el servidor y el área de trabajo
Trabajar desde el símbolo del sistema
Sugerencias
De forma predeterminada, el sistema intenta resolver automáticamente todos los conflictos. Para cambiar la opción, en la barra de menús, elija Herramientas ,Opciones y, a continuación, en el cuadro de diálogo Opciones, vaya a Controlde código fuente , Visual Studio Team Foundation Server. Desactive la casilla Attempt to automatically resolve conflicts when they are generated (Intento de resolver conflictos automáticamente cuando se generan).
¿Necesita su equipo colaborar para resolver un gran número de conflictos (por ejemplo, que pueden producirse después de la operación de combinación en un código base grande)? Si es así, podría resultar útil usar un área de trabajo pública en un equipo de desarrollo compartido. Consulte Crear y trabajar con áreas de trabajo.