Usar los comandos 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

Puede usar comandos de control de versiones para realizar casi todas las tareas que puede realizar en Visual Studio y también varias tareas que no se pueden realizar en Visual Studio. Puede usar la herramienta tf.exepara ejecutar comandos de control de versiones desde un símbolo del sistema o dentro de un script.

Ejecución de un comando

Para iniciar el símbolo del Visual Studio, desde Windows Iniciar, elija Visual Studio 2015y, a continuación, elija el acceso directo Símbolo del sistema para desarrolladores para V2015.

Visual Studio usuarios de 2017: el binario de tf.exe ya no está en una ubicación fija en la ruta de instalación de Visual Studio como en versiones anteriores (por ejemplo, C:\Archivos de programa (x86)\Microsoft Visual Studio 14.0\Common7\IDE). Los scripts tf.exe no deben codificar de forma codificada una ruta de acceso al archivo en función de la ruta de Visual Studio de instalación de 2017.

En la mayoría de los casos, el comando de control de versiones se ejecuta en el contexto de un directorio asignado en el área de trabajo. Por ejemplo, $/SiteApp/Main/ se asigna a c:\\code\\SiteApp\\Main\\ . Para obtener la versión más reciente de todos los elementos en el área de trabajo:

c:\code\SiteApp\Main\SolutionA>tf get

Configurar el equipo de desarrollo y administrar las áreas de trabajo

El área de trabajo es una copia local del código base del equipo. Dado que es una copia local en el equipo de desarrollo, puede desarrollar y probar el código de forma aislada hasta que esté listo para proteger su trabajo. A continuación se muestran algunos comandos para administrar el área de trabajo:

Comando proxy (Visual Studio 2010)

Comando Workfold (Visual Studio 2010)

Comando área de trabajo (Visual Studio 2010)

Comando Áreas de trabajo (Visual Studio 2010)

Consulte también: Configuración de Control de versiones de Team Foundation en la máquina de desarrollo,Creación y trabajo con áreas de trabajo

Desarrollo de su aplicación

Utilice los comandos siguientes para desarrollar la aplicación con el equipo bajo control de versiones:

Agregar comando
Agrega archivos y carpetas al control de versiones.

Checkout (o Edit) (Comando)
Desprotege un archivo y cambia su estado de cambio pendiente a "editar".

Comando Delete (Control de versiones de Team Foundation) (Visual Studio 2010)

Comando Get
Obtiene (descarga) la versión más reciente o una especificada de uno o varios archivos o carpetas de Team Foundation Server en el área de trabajo.

Comando Rename (Control de versiones de Team Foundation) (Visual Studio 2010)

Comando Status
Muestra información sobre los cambios pendientes a los elementos de archivos y carpetas en una o más áreas de trabajo o en un conjunto de cambios aplazados.

Comando Deshacer
Descarta uno o más cambios pendientes a archivos o carpetas.

Comando Undelete (Visual Studio 2010)

Consulte también: Desarrollo de la aplicación en el control de versiones de Team Foundation

Suspender el trabajo

Por varias razones, a veces es necesario aplazar una parte del trabajo o todo el trabajo en curso. Para suspender y reanudar el trabajo, y para administrar los conjuntos de datos aplazados, use los comandos siguientes:

Comando Shelve (Visual Studio 2010)

Comando De conjuntos de ados Visual Studio 2010)

Comando Unshelve (Visual Studio 2010)

Consulte también: Suspender el trabajo y administrar los conjuntos de alaquetes.

Contribuir con el trabajo

Aquí se muestra cómo comprobar el código en el código base del equipo:

Comando Checkin
Protege los cambios pendientes de los archivos o carpetas del servidor.

Consulte también: Comprobación del trabajo en el código base del equipo

Administrar archivos y resolver problemas

Ver y administrar archivos y carpetas de control de versiones

Comando Propiedades (o Información) (Visual Studio 2010)

Comando Property (no documentado)

Comando Dir (Visual Studio 2010)

Comando Destroy (Control de versiones de Team Foundation) (Visual Studio 2010)

Comando LocalVersions (Visual Studio 2010)

Consulte también: Uso de Explorador de control de código fuente para administrar archivos bajo control de versiones

Ver y administrar versiones anteriores

Comando Changeset (Visual Studio 2010)

Comando History
Muestra el historial de revisiones de uno o varios archivos o carpetas.

Comando Label (Control de versiones de Team Foundation) (Visual Studio 2010)

Comando Etiquetas (Visual Studio 2010)

Comando Rollback (Control de versiones de Team Foundation) (Visual Studio 2010)

Comando Unlabel (Visual Studio 2010)

Comando Ver (Visual Studio 2010)

Consulte también: Visualización y administración de versiones anteriores

Comparar archivos y carpetas

Comando Difference (Visual Studio 2010)

Comando Folderdiff (Visual Studio 2010)

Consulte también: Visualización y administración de versiones anteriores

Resolución de conflictos de archivos

Resolver comando (Visual Studio 2010)

Vea también: Resolver Control de versiones de Team Foundation conflictos.

Trabajar con bloqueos del control de versiones

Comando Lock (Visual Studio 2010)

Vea también: Trabajar con bloqueos de control de versiones.

Aislar riesgos

Puede utilizar los siguientes comandos para aislar los riesgos mediante bifurcaciones:

Comando Branch (Visual Studio 2010)

Comando Ramas (Visual Studio 2010)

Comando Merge (Visual Studio 2010)

Comando Merges (Visual Studio 2010)

Vea también: Uso de ramas para aislar el riesgo en Control de versiones de Team Foundation.

Administrar el control de versiones

Puede utilizar los comandos siguientes para administrar el sistema de control de versiones:

Configurar comando (Visual Studio 2010)

Comando Permission (Visual Studio 2010)

Vea también: Administración de Control de versiones de Team Foundation (Visual Studio 2010).

Obtener Ayuda sobre los comandos de control de versiones

Puede utilizar los comandos siguientes para obtener más información sobre los comandos de control de versiones:

Comando Help (Control de versiones de Team Foundation) (Visual Studio 2010)

Comando de Msdn (Visual Studio 2010)

Entender la sintaxis de comandos

La sintaxis de cada comando aparece en la parte superior de cada tema de referencia.

Argumentos opcionales y requeridos

Se requieren los argumentos que no están entre corchetes. [Corchetes] indican argumentos opcionales que no son necesarios para completar un comando. Sin embargo, algunos argumentos opcionales tienen valores predeterminados que se aplican al comando incluso si no se especifica la opción.

Argumentos exclusivos

Cuando las opciones están separadas por una canalización ( | ), puede especificar una de las opciones.

Argumentos textuales y reemplazables

Los elementos en negrita son opciones que se deben incluir literalmente. Los elementos en cursiva son argumentos que debe reemplazar por caracteres reales para realizar un comando.

Accesos directos y alias de comandos

Algunos comandos admiten accesos directos. Por ejemplo, puede llamar al comando Delete con tf delete o tf del.

Ejemplo

Por ejemplo, el comando Checkout:

tf checkout [/lock:( none|checkin|checkout)] [/recursive] itemspec [/login: username,[ password]]

Vamos a revisar los argumentos de este ejemplo:

  • itemspec:debe reemplazar este argumento por un itemspec que especifique los elementos que está desalando.

  • /lock:(none|checkin|checkout):no es necesario especificar la opción /lock. Si no lo especifica, el sistema especifica /lock:nonede forma predeterminada. De lo contrario, puede especificar una de las opciones de bloqueo.

  • Los siguientes argumentos son opcionales y, si no se proporcionan, no se aplica ninguno de sus efectos al comando:

    • /recursive:si desea desaconserar de forma recursiva varios elementos de una carpeta, debe especificar esta opción textualmente.

    • /login:username,password: si desea ejecutar el comando como otro usuario, debe especificar la opción /login textualmente, reemplazar username por el nombre del usuario y, si es necesario, puede proporcionar la contraseña.

Especificar los elementos a los que afecta un comando

Puede utilizar itemspecs y versionspecs para especificar a qué elementos afecta un comando.

Utilizar un argumento itemspec para especificar los elementos afectados

Use itemspec (especificación de elemento) para especificar los elementos afectados por un comando. Puede especificar elementos en un equipo cliente o en Team Foundation Server. Puede usar caracteres comodín como \ * y \.

Argumentos itemspec del cliente

Un argumento itemspec de cliente especifica una ruta de acceso a los elementos de un equipo cliente, como una carpeta (por ejemplo, c:\code\SiteApp\Main\SolutionA\)un archivo (por ejemplo, c:\code\SiteApp\Main\SolutionA\Project1\program.cs o varios archivos (por ejemplo, c:\code\SiteApp\Main\SolutionA\*.cs. También puede especificar rutas de acceso UNC como \\myshare\code\SiteApp\Main.

Argumentos itemspec del servidor

Un argumento itemspec de servidor especifica una ruta de acceso a los elementos de Team Foundation Server como una carpeta (por ejemplo, $/SiteApp/Main/SolutionA)un archivo (por ejemplo, $/SiteApp/Main/SolutionA/Project1/program.cs o varios archivos (por ejemplo, $/SiteApp/Main/SolutionA/*.cs).

Normalmente los argumentos itemspec del servidor se utilizan cuando es necesario ejecutar un comando en elementos que no se encuentran en el equipo cliente. Por ejemplo, está trabajando en una máquina de desarrollo y necesita obtener algunos datos del historial de revisiones sobre algunos elementos que se encuentran en una colección de proyectos en la que no trabaja:

c:\>tf history /collection:http://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive  
/noprompt 

Varios argumentos itemspec

Para algunos comandos, puede especificar varios argumentos itemspec. Por ejemplo:

c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c

Desprotege program.cs y program2.c.

Utilizar un argumento versionspec para especificar las versiones afectadas de los elementos

Use versionspec (especificación de versión) para especificar la versión de los elementos afectados por un comando. Para proporcionar una especificación de versión, puede:

  • Use la opción /version. Por ejemplo: /version:C44.

  • Anexe versionspec a itemspec con un punto y coma. Por ejemplo: program1.cs; C44.

Al usar el comando Historial o el Comando de diferencia ,puede especificar un intervalo de versiones separando las versiones con una tilde (~). Por ejemplo:

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2012~D4/24/2012

Use la sintaxis siguiente para especificar versionspec.

Tipo

Sintaxis

Descripción

Conjunto de cambios

[C] N

Especifica los elementos basándose en un número de conjunto de cambios. Si un elemento que está dentro del ámbito no se modificó en el conjunto de cambios especificado, el sistema toma la última versión del elemento que se produjo antes del conjunto de cambios especificado.

Sugerencia

Puede omitir la C si especifica solo un número.

Ejemplos

c:\code\SiteApp\Main>tf get readme.txt /v:C8

-- o --

c:\code\SiteApp\Main>tf get readme.txt /v:8

-- o --

c:\code\SiteApp\Main>tf get readme.txt;8

Si readme.txt se modificó en el conjunto de cambios 8, obtiene esa versión del archivo. De lo contrario, obtiene la versión más reciente de readme.txt, la anterior a la versión 8.

Etiqueta

Etiqueta L

Especifica los elementos a los que se aplicó la etiqueta.

Ejemplos

c:\code\SiteApp\Main>tf get readme.txt;LJulyHotFix

Obtiene la versión de readme.txt que se etiquetaba como JulyHotFix.

c:\code\SiteApp\Main>tf get /version:LLastKnownGood

Recupera la versión de todos los elementos etiquetados (y elimina los elementos que no están etiquetados) en el área de trabajo tal como existían cuando se creó el conjunto de cambios etiquetado como LastKnownGood, por ejemplo, quizás como parte de un proceso de compilación automatizado.

Fecha y hora

Dyyyy-mm-ddTxx:xx

o bien

Dmm/dd/yyyy

o bien

Cualquier formato compatible con .NET Framework.

o bien

Cualquiera de los formatos de fecha admitidos en el equipo local.

Especifica un conjunto de cambios creado en una fecha y hora especificadas.

Ejemplos

c:\code\SiteApp\Main>tf get /version:D2004-03-22

Actualiza el área de trabajo para que coincida con el código base tal como existía el 22/3/2004 a las 00:00 (medianoche).

c:\code\SiteApp\Main>tf get /version:D2004-03-22T09:00

Actualiza el área de trabajo para que coincida con el código base tal como existía el 22/3/2004 a las 09:00 (9 a. m.).

Para obtener más información sobre .NET Framework formatos de fecha y hora admitidos por el usuario, vea DateTime y Cadenas de formato de fecha y hora estándar.

Área de trabajo (actual)

W

Especifica la versión en el área de trabajo.

Área de trabajo (especificada)

Wworkspacename; workspaceowner

Especifica la versión en un área de trabajo especificada.

Por ejemplo: WResolveRIConflicts; PeterW

Sugerencia

T

Especifica la versión más reciente.

Utilizar las opciones para modificar el funcionamiento de un comando

Puede utilizar algunas opciones comunes para modificar el funcionamiento de un comando.

Utilizar la opción /noprompt para suprimir las solicitudes de entrada de datos y redirigir los datos de resultados a la ventana del símbolo del sistema

Use la opción /noprompt para suprimir las solicitudes de entrada de datos y redirigir los datos de salida a la ventana del símbolo del sistema. Esta opción puede resultar útil si necesita utilizar los comandos de control de versiones en un script porque el comando continúa sin la intervención del usuario, y hay datos disponibles para que el script realice operaciones tales como análisis o capturas.

Cuando se utiliza esta opción, el sistema:

  • Suprime todas las solicitudes de entrada:

    • No se hace ninguna pregunta en la ventana del símbolo del sistema. Por ejemplo, cuando se usa el comando Deshacer con esta opción, el sistema no le pide que confirme si desea continuar con la deshacer los cambios.

    • Las ventanas y los cuadros de diálogo no se muestran. Por ejemplo, use esta opción con el comando Checkin. En lugar de mostrar el cuadro de diálogo Comprobar para que confirme las opciones (qué elementos desea insertar o qué elementos de trabajo asociar), el sistema continúa con la comprobación sin confirmación.

  • Redirige los datos de salida al símbolo del sistema. Por ejemplo, use esta opción con el comando History. Los datos se muestran en la ventana del símbolo del sistema en lugar de en la ventana Historial.

Utilizar la opción /login para especificar credenciales al ejecutar un comando

Use la opción /login para especificar la cuenta Team Foundation Server usuario para ejecutar un comando. Esta opción puede ser útil cuando se trabaja en la máquina de otro miembro del equipo.

Por ejemplo, Julia trabaja con Peter en el equipo de desarrollo. Usa el comando Bloquear para desbloquear un archivo que ha bloqueado anteriormente:

c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:JuliaI,JuliaPassword

Si desea evitar que su contraseña aparezca en el símbolo del sistema, puede escribir el comando sin la contraseña:

c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:JuliaI

Una vez que escribe este comando, el sistema le pide que escriba la contraseña en un cuadro de diálogo que enmascara la entrada.

Utilizar la opción /lock para aplicar o quitar un bloqueo

Importante

Como procedimiento recomendado, use la opción /lock con discreción y notifique a sus compañeros de equipo por qué bloquea un elemento y cuándo planea quitar el bloqueo.

Use la opción /lock para aplicar o quitar un bloqueo al mismo tiempo que ejecuta otro comando, como Agregar o Editar.

/lock:(none|checkin|checkout)

Nota

En algunos casos, la operación de bloqueo puede producir un error:

  • Si cualquier otro usuario ha bloqueado alguno de los elementos especificados, la operación de bloqueo no se podrá realizar.
  • El sistema omite este modificador si ya existe un cambio pendiente al elemento. En este caso, debe usar el comando Bloquear para cambiar un bloqueo en un elemento.

Utilizar accesos directos a la opción

Puede abreviar las siguientes opciones.

Opción

Alias de la opción

/comment

-C

/computer

-M

/delete

-D

/force

-P

/format

-F

/help

-?, -H

/lock

-K

/login

-Y

/newname

-N

/noprompt

-I

/owner

-O

/recursive

-R

/server

-S

/slotmode

-X

/template

-T

/user

-U

/version

-V

/workspace

-W

Comprender los códigos de salida

Los comandos de control de versiones devuelven los siguientes códigos de salida:

Código de salida

Definición

0

Correcto.

1

Parcialmente correcto; significa al menos algo, o posiblemente todo, ha sido incorrecto.

2

Comando no reconocido.

100

Nada ha sido correcto.

Por ejemplo:

c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c

Si uno de los archivos que está intentando des check-out no existe en el servidor, el comando devuelve 1 para indicar que se ha hecho correctamente parcialmente.