Comando Branch (Control de versiones de Team Foundation)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

El comando TFVC branch copia un elemento o un conjunto de elementos, incluidos los metadatos y el historial de control de versiones, desde una ubicación a otra en el servidor de Azure DevOps y en el área de trabajo local.

Nota:

Los resultados de este comando no se reflejan en el servidor de Azure DevOps hasta que realice una operación de inserción en el repositorio. Para obtener más información, vea Inserción en el repositorio del trabajo en el código base del equipo.

Requisitos previos

A fin de usar el comando branch, debe tener el permiso Leer para el elemento de origen y los permisos Extraer del repositorio y Combinar para la carpeta de destino establecida en Permitir. Para más información, vea Permisos predeterminados de TFVC.

Sintaxis

tf branch olditem newitem [/version:versionspec] [/noget] [/lock:(none|checkin|checkout)] [/noprompt] [/silent] [/checkin] [/comment:("comment"|@commentfile)] [/author:authorname] [/login:username, [password]] [/recursive]

Parámetros

Argumento

Argument Descripción
<olditem> Especifica el nombre del archivo de origen o la carpeta que se va a bifurcar. El <olditem> también puede contener información de versión con el formato item;version.
<newitem> Especifica el nombre del archivo o carpeta de destino o de la carpeta primaria para el destino. Si <*newitem> ya existe y es una carpeta Azure DevOps Server, TFVC crea los elementos bifurcados dentro de él. De lo contrario, <newitem> especifica el nombre del archivo o carpeta de destino. Los conflictos pueden producirse durante la comprobación si el destino ya existe.
<versionspec> Proporciona un valor para la opción /version. Para más información sobre cómo TFVC analiza una especificación de versión para determinar qué elementos están dentro de su ámbito, vea Uso de comandos de control de versiones de Team Foundation.
<comment> Proporciona un comentario sobre la rama.
@<commentfile> Especifica la ruta de acceso de un archivo que contiene el comentario que se usa para la rama.
<authorname> Valor proporcionado por el usuario para la opción /author.
<username> Proporciona un valor a la opción /login. Puede especificar un valor de nombre de usuario como DOMAIN\username o <username>.

Opción

Opción

Descripción

/version

Versión del elemento en el que quiere crear la rama. Puede especificar una versión mediante:

  • Fecha y hora (D10/20/2005)
  • Número del conjunto de cambios (C1256)
  • Etiqueta (Lmylabel)
  • Versión más reciente (T)
  • Área de trabajo (Wworkspacename)

Si no se proporciona ninguna versión, TFVC usa la siguiente lógica para decidir qué versión del elemento se va a copiar en la nueva rama:

  • Si se especifica una ruta de acceso de Azure DevOps Server, TFVC bifurca el elemento en la versión de Azure DevOps Server más reciente. Por ejemplo, tf branch $/projects/help.cs usa la versión del servidor.
  • Si se especifica una ruta de acceso local para el origen, TFVC usa la versión local del área de trabajo para crear la nueva rama. Por ejemplo, tf branch C:\314.cs usa la versión del área de trabajo local.

Si bifurca un archivo cuya versión del área de trabajo es anterior a la versión más reciente del servidor de Azure DevOps, el archivo se bifurca en la versión anterior.

/lock

Impide que otros usuarios inserten en el repositorio o extraigan de él elementos hasta que registre la rama pendiente y los cambios asociados. Para obtener más información, vea Descripción de los tipos de bloqueo.

Opciones de bloqueo:

  • none
    Predeterminada. No se aplica ningún bloqueo. Si existe un bloqueo en el archivo para el que va a crear una rama, esta opción la quita.
  • checkin
    Otros usuarios pueden extraer del repositorio los elementos especificados, pero no pueden insertar en el repositorio las revisiones de archivos bloqueados hasta que libere el bloqueo mediante una inserción en el repositorio. Si cualquier otro usuario ha bloqueado alguno de los elementos especificados, se produce un error en la operación de bloqueo.
  • checkout
    Impide que otros usuarios puedan insertar en el repositorio o extraer del repositorio cualquiera de los elementos especificados hasta que libere el bloqueo realizando una inserción en el repositorio. Si cualquier otro usuario ha bloqueado alguno de los elementos especificados, se produce un error en la operación de bloqueo.

/noget

Si se especifica esta opción, las copias locales de los archivos y carpetas de la nueva rama no se crean en el área de trabajo local. Sin embargo, las copias locales se recuperarán en el área de trabajo la próxima vez que realice una operación get recursiva.

Nota:

Puede evitar que los elementos, como el contenido de una carpeta /images, se recuperen en el área de trabajo durante las operaciones recursivas get y obtengan las últimas operaciones ocultando una carpeta del área de trabajo. Para obtener más información, vea Comando Workfold.

/noprompt

Suprime las solicitudes de entrada.

/silent

Implica /noget, y especifica que la salida no se escribe en la ventana del símbolo del sistema al crear una rama.

/checkin

Crea y comprueba la rama en el servidor en una sola operación. Esta opción no crea ningún cambio pendiente en el área de trabajo local.

/comment

Agrega un comentario a la nueva rama. Esta opción solo se usa con la opción /checkin.

/author

Identifica al autor de la nueva rama. Esta opción solo se usa con la opción /checkin.

/recursive

En el caso de las carpetas, bifurca todos los archivos dentro también.

Observaciones

Si especifica una ruta de acceso local como c:\00101, pero no especifica un <versionspec>, TFVC usa la versión del área de trabajo local como base para crear la nueva rama.

Sin embargo, si especifica una ruta de acceso de servidor como $/00101/*.cs y no especifica un <versionspec>, TFVC usa la versión de Azure DevOps Server más reciente como base para crear la nueva rama en su lugar.

Para más información sobre cómo usar la utilidad de línea de comandos tf, vea Uso de comandos de control de versiones de Team Foundation.

Ejemplos

En los siguientes ejemplos se da por hecho que c:\projects se asigna a la carpeta principal del área de trabajo.

En el ejemplo siguiente se crea un archivo de rama que contiene la versión más reciente del área de trabajo de 314.cs, se le asigna 314_branch y se guarda en el directorio actual del disco y también en la carpeta Azure DevOps Server a la que se asigna.

c:\projects>tf branch 314.cs 314_branch

En el ejemplo siguiente se copian todos los archivos sin modificaciones pendientes en la versión del área de trabajo de 314.cs desde su carpeta Azure DevOps Server actual en la carpeta testdata de Azure DevOps Server y desde el directorio actual del disco a la carpeta de trabajo que se asigna a la carpeta testdata de Azure DevOps Server.

c:\projects>tf branch C:\314.cs $/testdata

En el ejemplo siguiente se copian todos los archivos sin modificaciones pendientes en la versión actual del área de trabajo de la carpeta testfiles y los archivos que contiene para todos los elementos de su carpeta Azure DevOps Server actual en la carpeta testfiles_branch de Azure DevOps Server y desde c:\testfiles en la carpeta local que se asigna a la carpeta testfiles_branch de Azure DevOps Server.

c:\projects>tf branch C:\testfiles $/testfiles_branch

En el ejemplo siguiente se crea una rama de 314.cs tal como existía en el conjunto de cambios n.º 4 para el archivo. En la carpeta de trabajo del disco, como en el servidor de Azure DevOps, se crea un archivo de rama titulado csharp_branch.

c:\projects>tf branch C:\314.cs;C4 csharp_branch

En el ejemplo siguiente se crea una nueva rama de 314.cs tal como estaba el 12/12/03. En la carpeta de trabajo del disco, como en el servidor de Azure DevOps, se crea un archivo de rama titulado 314\branch.

c:\projects>tf branch 314.cs;D12/12/03 314_branch

En el ejemplo siguiente se bifurca la versión de 314.cs a la que se aplicó la etiqueta Beta1, se le asigna el nombre Beta1branch y se guarda en el directorio actual del disco, además de la carpeta Azure DevOps Server a la que se asigna el directorio actual.

c:\projects>tf branch 314.cs;LBeta1 314_Beta1branch