Compartir a través de


Comando merge

El comando merge aplica los cambios de una bifurcación a otra.

Nota

Los resultados de este comando no se reflejarán en el servidor control de versiones de Team Foundation hasta que realice una operación de protección. Para obtener más información, vea Proteger los cambios pendientes.

Permisos necesarios

Para utilizar el comando merge, debe tener el permiso Desproteger establecido en Permitir para la carpeta del área de trabajo que contiene el destino y debe tener el permiso Lectura establecido en Permitir para la carpeta del área de trabajo que contiene el origen. Para obtener más información, vea Permisos de Team Foundation Server.

tf merge [/recursive] [/force] [/candidate] [/discard] 
[/version:versionspec] [/lock:none|checkin|checkout] [/preview] 
[/baseless] [/nosummary] [/noimplicitbaseless] [/conservative] [/format:(brief|detailed)] [/noprompt] [/login:username,[password]] source destination

Parámetros

Argumento

Descripción

versionspec

Proporciona un valor como C2 para la opción /version. Para obtener más información acerca de cómo Team Foundation analiza una especificación de versión para determinar qué elementos se encuentran en su ámbito, vea Sintaxis de la línea de comandos (Control de versiones).

source

Especifica el archivo o carpeta que actúa como origen de la combinación.

destination

Especifica el archivo o la carpeta que actúa como destino de la combinación.

username

Proporciona un valor para la opción /login. Puede especificar un valor de nombre de usuario como DOMINIO\NombreDeUsuario o NombreDeUsuario.

Opción

Descripción

/recursive

Coincide con la especificación del elemento source en el directorio actual y cualquier subcarpeta.

/force

Omite el historial de combinación y combina los cambios especificados del origen con el destino, aunque todos o algunos de los cambios se hayan combinado anteriormente.

/candidate

Imprime una lista de todos los conjuntos de cambios del origen que todavía no se han combinado con el destino. La lista debe incluir el id. del conjunto de cambios que no se ha combinado y otra información básica sobre ese conjunto de cambios.

/discard

No realiza la operación de combinación, pero actualiza el historial de combinación para efectuar el seguimiento de la combinación. Descarta un conjunto de cambios para que no se usen con una combinación determinada.

/version

Para una combinación selectiva, esta opción especifica el intervalo que se debe combinar en el destino. Para una combinación de puesta al día, este parámetro especifica la versión antes de la que se deben combinar todos los cambios no combinados.

En el caso de una combinación selectiva, el intervalo de versiones representa el punto inicial y final del conjunto de cambios que se va a combinar. Por ejemplo, si intenta combinar la versión 4~6, se combinan los conjuntos de cambios 4, 5 y 6.

/lock

Especifica un tipo de bloqueo o quita un bloqueo de un elemento. Para obtener más información, vea Introducción a los tipos de bloqueo.

Opciones de bloqueo:

  • Ninguno

    No se aplica ningún bloqueo al elemento y se quitan todos los bloqueos existentes de un elemento.

  • Checkin

    Otros usuarios pueden desproteger los elementos especificados, pero no pueden proteger las revisiones en los archivos bloqueados hasta que se libere el bloqueo mediante una operación de protección. Si cualquier otro usuario ha bloqueado uno de los elementos especificados, la operación de bloqueo produce un error.

  • Checkout

    Impide que los usuarios protejan o desprotejan cualquiera de los elementos especificados hasta que se libere explícitamente el bloqueo. Si otros usuarios han bloqueado uno de los elementos especificados o si hay cambios pendientes para cualquier elemento, la operación de bloqueo no se realiza.

/preview

Muestra una vista preliminar de la combinación.

/baseless

Realiza una combinación sin una versión base. En otras palabras, permite al usuario combinar archivos y carpetas que no tienen una relación de combinación. Después de realizar una combinación sin base ya existe una relación de combinación, y las futuras combinaciones no serán combinaciones sin base.

NotaNota
Las combinaciones sin base no pueden eliminar archivos en el destino.Puede realizar manualmente tales cambios.

/noimplicitbaseless

Especifica que Team Foundation no realizará una combinación sin base implícita entre dos elementos que tengan el mismo nombre relativo en dos árboles con control de versiones no relacionados.

/nosummary

Omite el resumen de conflictos, errores y advertencias.

/noprompt

Suprime todos los mensajes de solicitud de datos.

/conservative

Produce más conflictos al combinar una bifurcación con otra.

/format

Especifica los formatos de resumen de los conflictos de la combinación:

  • Brief: el valor predeterminado, solo resume el número total de conflictos, advertencias y errores.

  • Detailed: resume no solo el número total de conflictos, advertencias y errores sino que también hace una lista de los detalles sobre cada conflicto.

Nota   Esta opción solo se aplica cuando el resultado contiene un resumen de conflictos. No se puede mostrar el resumen si se utiliza la opción /nosummary o la combinación produjo menos de 10 conflictos, advertencias y errores.

/login

Especifica el nombre de usuario y la contraseña para autenticar al usuario con Visual Studio Team Foundation Server.

Comentarios

Puede utilizar el comando merge de la utilidad de línea de comandos tf para aplicar los cambios de una bifurcación de origen existente a una bifurcación de destino existente. Puede combinar una revisión individual o un conjunto de cambios completo con la bifurcación de destino. Puede combinar los cambios del origen con la bifurcación de destino o los cambios del destino con la bifurcación de origen.

El comando merge también permite consultar qué cambios de una bifurcación de origen no se han migrado a la bifurcación de destino. Además, permite indicar que ciertos cambios del origen no se combinarán nunca con el destino y no se deben mostrar ya como candidatos de una operación de combinación.

Para obtener más información sobre cómo buscar la utilidad de la línea de comandos tf, vea Comandos de la utilidad Tf de la línea de comandos.

Combinación sin base

Utilice la combinación sin base para combinar elementos que no están directamente bifurcados entre sí. Para realizar una combinación sin base, debe utilizar el comando tfmerge. Al realizar una combinación sin base, Team Foundation no tiene ninguna información sobre la relación de los archivos en las bifurcaciones. En una combinación sin base, debe realizar resoluciones de conflictos manuales. Una vez realizada la combinación sin base y resueltos todos los conflictos, Team Foundation registra el historial de combinación y establece una relación entre las carpetas y archivos.

Al ejecutar tf merge, Team Foundation realiza una combinación sin base implícita entre los elementos que tienen el mismo nombre relativo en dos árboles con control de versiones relacionados anteriormente. Por ejemplo, tal vez desee combinar las bifurcaciones relacionadas $SRC\ y $TGT. Ambas bifurcaciones contienen un archivo no relacionado denominado a.txt. Al ejecutar tf merge, Team Foundation establece una relación entre los dos archivos a.txt si ambos archivos son iguales, si el cifrado conforme a FIPS está deshabilitado y si el archivo de origen no está relacionado con ningún otro archivo del destino.

Si ejecuta tf merge con la opción /noimplicitbaseless establecida, cuando Team Foundation intenta combinar las dos bifurcaciones, los dos archivos a.txt crearán un conflicto de espacio de nombres al intentar proteger los cambios. Para resolver el conflicto, debe cambiar el nombre de uno de los archivos.

Ejemplos

En el ejemplo siguiente se combinan los cambios de MyFile_beta1 que no se han combinado en MyFile_RTM.

c:\projects>tf merge MyFile_beta1 MyFile_RTM /recursive

En el ejemplo siguiente se combina el conjunto de cambios 137 en branch2.

c:\projects>tf merge /version:C137~C137 branch1 branch2 /recursive

En el ejemplo siguiente se combinan todos los conjuntos de cambios hasta el conjunto de cambios 137 en branch2.

c:\projects>tf merge /version:C137 branch1 branch2 /recursive

El ejemplo siguiente imprime una lista de los conjuntos de cambios de branch1 que no se han combinado con branch2.

c:\projects>tf merge /candidate branch1 branch2 /recursive

El ejemplo siguiente imprime una lista de conjuntos de cambios de branch2 que no se han combinado de nuevo con branch1.

c:\projects>tf merge /candidate branch2 branch1 /recursive

El ejemplo siguiente descarta el conjunto de cambios 137 como candidato para combinar con branch2.

c:\projects>tf merge /discard /version:C137 branch1 branch2 /recursive

Vea también

Tareas

Resolver conflictos entre dos archivos

Referencia

Sintaxis de la línea de comandos (Control de versiones)

Branch (Comando)

Merges (Comando)

Otros recursos

Comandos de la utilidad Tf de la línea de comandos

Bifurcar y combinar