Referencia de comandos del control de versiones de Team Foundation

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

¿Qué desea hacer?

  • Ejecutar un comando

    • Configurar el equipo dev

    • Desarrollar la aplicación

    • Suspender el trabajo

    • Contribuir con su trabajo

    • Administrar archivos y resolver problemas

    • Aislar el riesgo

  • Entender la sintaxis de comandos

  • Especificar los elementos afectados por un comando

    • Utilizar un argumento itemspec para especificar los elementos afectados

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

  • Utilizar las opciones para modificar el funcionamiento de un comando

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

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

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

    • Utilizar accesos directos a la opción

  • Comprender los códigos de salida

Ejecutar un comando

Para iniciar el símbolo del sistema de Visual Studio, en Windows Iniciar, elija Microsoft Visual Studio 2012, Visual Studio Tools y después elija uno de los métodos abreviados del Símbolo del sistema.

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

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

[!NOTA]

Actualmente, no se están volviendo a publicar algunos de los temas.Sin embargo, puede leer la versión de Visual Studio 2010 de estos temas.

cc31bk2e.collapse_all(es-es,VS.110).gifConfigurar el equipo dev 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 del equipo dev, puede desarrollar y probar el código por separado hasta que esté listo para comprobar en su trabajo.A continuación se muestran algunos comandos para administrar su área de trabajo:

Vea también: Configurar el equipo de desarrollo y empezar a usar el control de versiones, Administrar las áreas de trabajo

cc31bk2e.collapse_all(es-es,VS.110).gifDesarrollar la aplicación

Utilice estos comandos para desarrollar la aplicación con control de versiones en el equipo:

Vea también: Desarrollar la aplicación en un código de base sometido a control de versiones

cc31bk2e.collapse_all(es-es,VS.110).gifSuspender el trabajo

Por varias razones, a veces es necesario dejar de lado parte o todo su trabajo en curso.Para suspender y reanudar el trabajo y para administrar los conjuntos de datos aplazados, use estos comandos:

Vea también: Suspender el trabajo y administrar los conjuntos de datos aplazados.

cc31bk2e.collapse_all(es-es,VS.110).gifContribuir con su trabajo

Aquí aparece cómo proteger su código para el código base del equipo:

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

Vea también: Proteger su contribución al código base del equipo

cc31bk2e.collapse_all(es-es,VS.110).gifAdministrar archivos y resolver problemas

cc31bk2e.collapse_all(es-es,VS.110).gifAislar el riesgo

Puede utilizar los siguientes comandos para aislar riesgos utilizando las bifurcaciones:

Vea también: Aislar riesgo usando bifurcaciones.

cc31bk2e.collapse_all(es-es,VS.110).gifAdministrar el control de versiones

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

Vea también: Administrar el control de versiones de Team Foundation (Visual Studio 2010).

cc31bk2e.collapse_all(es-es,VS.110).gifObtener Ayuda en comandos de control de versiones

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

Entender la sintaxis de comandos

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

cc31bk2e.collapse_all(es-es,VS.110).gifArgumentos opcionales y requeridos

Se requieren los argumentos no encorchetados.[Brackets] indica los argumentos opcionales que no se necesitan 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.

cc31bk2e.collapse_all(es-es,VS.110).gifArgumentos exclusivos

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

cc31bk2e.collapse_all(es-es,VS.110).gifArgumentos textuales y reemplazables

Los elementos en negrita son opciones que debe incluir literalmente.Los elementos En cursiva son argumentos que se deben reemplazar con caracteres para ejecutar un comando.

cc31bk2e.collapse_all(es-es,VS.110).gifMétodos abreviados y alias de comandos

Algunos accesos directos de compatibilidad de comandos.Por ejemplo, puede llamar a Comando eliminar con tf delete o tf del.

cc31bk2e.collapse_all(es-es,VS.110).gifEjemplo

Por ejemplo el Comando de comprobación:

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

Revisemos los argumentos de este ejemplo:

  • itemspec: Debe reemplazar este argumento con itemspec que especifica los elementos que está comprobando.

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

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

    • /recursive: Si desea comprobar de forma recursiva varios elementos en una carpeta, debe especificar esta opción literalmente.

    • /login:nombre de usuario, contraseña: Si desea ejecutar el comando como otro usuario, debe especificar la opción de /login literalmente y reemplazar nombre de usuario con el nombre de usuario y, si es necesario, puede proporcionar la contraseña.

Especificar los elementos afectados por un comando

Puede utilizar itemspecs y versionspecs para especificar qué elementos están afectados por un comando.

cc31bk2e.collapse_all(es-es,VS.110).gifUtilizar un argumento itemspec para especificar los elementos afectados

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

cc31bk2e.collapse_all(es-es,VS.110).gifArgumentos itemspec del cliente

Un argumento itemspec del cliente especifica una ruta de acceso a los elementos en 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 las rutas de acceso UNC como \\myshare\code\SiteApp\Main.

cc31bk2e.collapse_all(es-es,VS.110).gifArgumentos itemspec del Servidor

Un argumento itemspec de servidor especifica una ruta de acceso a los elementos del 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 se utiliza argumentos itemspec del servidor cuando se necesita ejecutar un comando en elementos no en el equipo cliente.Por ejemplo, cuando se trabaja en un equipo dev necesita obtener algunos datos del historial de revisión sobre algunos elementos de una colección de proyectos de equipo en los que no trabaja:

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

cc31bk2e.collapse_all(es-es,VS.110).gifVarios argumentos itemspec

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

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

Compruebe la salida program.cs y program2.c.

cc31bk2e.collapse_all(es-es,VS.110).gifUtilizar un argumento de versionspec para especificar versiones afectadas de los elementos

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

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

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

Cuando utilice History (Comando) o Difference Command, puede especificar un intervalo de versiones separándolas con una tilde (~).Por ejemplo:

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

Utilice la siguiente sintaxis para especificar un 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 especificado, el sistema toma la última versión del elemento que se produjo antes del conjunto especificado.

SugerenciaSugerencia
Puede omitir C si sólo especifica un número.

Ejemplos

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

O bien

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

O bien

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.Si no, obtiene la versión más reciente de readme.txt antes de la versión 8.

Etiqueta

Llabel

Especifica los elementos a los que ha aplicado label.

Ejemplos

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

Obtiene la versión de readme.txt que fue denominada JulyHotFix.

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

Recupera la versión de todos los elementos con etiqueta (y elimina los elementos no etiquetados) en el área de trabajo, tal como existían cuando el conjunto etiquetado como Último conjunto de control correcto conocido se creó, por ejemplo, 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 de .NET Framework compatible.

-O bien-

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

Especifica un conjunto creado en una fecha y hora especificada.

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 en 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 en 22/3/2004 a las 09:00 (9 a. m.).

Para obtener más información sobre los formatos de fecha y hora admitidos en .NET Framework vea DateTime y Cadenas con formato de fecha y hora estándar.

Área de trabajo (actual)

W

Especifica la versión del á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

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

cc31bk2e.collapse_all(es-es,VS.110).gifUtilizar la opción /noprompt para suprimir las solicitudes para la entrada de datos y los datos redirigidos de salida a la ventana del símbolo del sistema

Utilice la opción /noprompt para suprimir las solicitudes para la entrada de datos y la redirección de los datos de salida de la ventana del símbolo del sistema.Esta opción puede ser útil si necesita utilizar comandos de control de versiones en un script porque el comando continúa sin la intervención del usuario, y los datos están 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:

    • Las preguntas no se hacen en la ventana del símbolo del sistema.Por ejemplo, cuando se utiliza Comando undo con esta opción, el sistema no le pedirá que confirme si desea continuar con deshacer los cambios.

    • Las ventanas y los cuadros de diálogo no se muestran.Por ejemplo, se utiliza esta opción con Checkin (Comando).En lugar de mostrar el cuadro de diálogo de Proteger para que confirme las opciones (qué elementos desea proteger o qué elementos de trabajo desea asociar), el sistema procede a proteger sin confirmación.

  • Redirige datos de salida al símbolo del sistema.Por ejemplo, se utiliza esta opción con History (Comando).Los datos se muestran en la ventana del símbolo del sistema en lugar de la Ventana historial.

cc31bk2e.collapse_all(es-es,VS.110).gifUtilizar la opción /login para especificar credenciales al ejecutar un comando

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

Por ejemplo, Julia trabaja con Peter en su equipo dev.Ella utiliza el Comando de bloqueo para desbloquear un archivo que se bloqueó anteriormente:

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

Si ella desea evitar tener su contraseña apareciendo en el símbolo del sistema, puede escribir el comando sin contraseña:

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

Después de que ella escriba este comando, el sistema le pide escribir la contraseña en un cuadro de diálogo que enmascare la entrada.

cc31bk2e.collapse_all(es-es,VS.110).gifUtilizar la opción /lock para aplicar o quitar un bloqueo

Nota importanteImportante

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

Utilice la opción de /lock para aplicar o quitar un bloqueo a la vez que ejecuta otro comando como Agregar o Editar.

/lock:(none|checkin|checkout)
  • None: no se aplica ningún bloqueo al elemento.Si ya se ha aplicado un bloqueo, se quita.

  • Checkin o Checkout: aplica un bloqueo.Vea Entender los tipos de bloqueo.

[!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 produce un error.

  • El sistema omite este modificador si ya existe un cambio pendiente del elemento.En este caso, debe utilizar Lock Command para cambiar un bloqueo en un elemento.

cc31bk2e.collapse_all(es-es,VS.110).gifUtilizar 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 intenta desproteger no existe en el servidor, el comando devolverá 1 para indicar que la operación ha sido parcialmente correcta.