Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Visual Studio 2019 | Visual Studio 2022
Você pode usar comandos de controle de versão para realizar quase todas as tarefas do TFVC (Controle de Versão do Team Foundation) que você pode fazer no Visual Studio. Você também pode usar comandos de controle de versão para realizar várias tarefas que não podem ser feitas no Visual Studio. Para executar comandos de controle de versão em um prompt de comando ou em um script, use a tf.exe ferramenta.
Executar um comando
Para iniciar o prompt de comando do Visual Studio, no Windows Start, selecione o Prompt de Comando do Desenvolvedor para VS2022 ou o atalho de versão anterior.
Observação
Para o Visual Studio 2019 e versões posteriores, o tf.exe binário não está mais em um local fixo no caminho de instalação do Visual Studio, como em algumas versões anteriores, por exemplo, C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE. Se o script for tf.exeusado, não indispira um caminho para o arquivo com base no caminho de instalação do Visual Studio.
Na maioria dos casos, você executa o comando controle de versão no contexto de um diretório mapeado no workspace. Por exemplo, $/SiteApp/Main/ é mapeado para c:\\code\\SiteApp\\Main\\. Para obter a versão mais recente de todos os itens no workspace, use o seguinte comando:
c:\code\SiteApp\Main\SolutionA>tf get
Configurar seu computador de desenvolvimento e gerenciar workspaces
Seu workspace é uma cópia local da base de código da sua equipe. Como é uma cópia local em seu computador de desenvolvimento, você pode desenvolver e testar seu código isoladamente até estar pronto para fazer check-in em seu trabalho. Aqui estão alguns comandos para gerenciar seu workspace:
Para obter mais informações, consulte os seguintes recursos:
- Configurar o Controle de Versão do Team Foundation em seu computador de desenvolvimento
- Criar e trabalhar com workspaces
Desenvolver seu aplicativo
Use estes comandos para desenvolver seu aplicativo sob controle de versão com sua equipe:
- Adicionar comando: adiciona arquivos e pastas ao controle de versão.
- Comando Checkout (ou Editar): faz check-out de um arquivo e altera seu status de alteração pendente para editar.
- Comando Excluir (Controle de Versão do Team Foundation): remove arquivos e pastas do servidor do Azure DevOps e os exclui do disco.
- Obter comando: obtém (downloads) a versão mais recente ou uma versão especificada de um ou mais arquivos ou pastas do Servidor do Azure DevOps para o workspace.
- Comando Renomear (Controle de Versão do Team Foundation): altera o nome ou o caminho de um arquivo ou pasta.
- Comando status: exibe informações sobre alterações pendentes em arquivos e pastas em workspaces ou em um conjunto de prateleiras.
- Comando Desfazer: descarta as alterações pendentes especificadas em arquivos ou pastas.
- Comando Undelete: restaura itens que foram excluídos anteriormente.
Para obter mais informações, consulte Desenvolver seu aplicativo no controle de versão do Team Foundation.
Suspender seu trabalho
Por vários motivos, às vezes você precisa deixar de lado alguns ou todos os seus trabalhos em andamento. Para suspender e retomar seu trabalho e gerenciar seus conjuntos de prateleiras, use estes comandos:
Para obter mais informações, consulte Suspender seu trabalho e gerenciar seus conjuntos de prateleiras.
Contribuir com seu trabalho
Use o checkin comando para fazer check-in do código na base de código da equipe:
- Comando Checkin: verifica se há alterações pendentes em arquivos ou pastas no servidor.
Para obter mais informações, consulte Check-in do seu trabalho para a base de código da equipe.
Gerenciar arquivos e resolver problemas
Use os recursos nas seções a seguir para gerenciar arquivos.
Exibir e gerenciar arquivos e pastas de controle de versão
- Comando Propriedades (ou Informações): exibe informações sobre itens no controle de versão.
- Comando Dir: exibe o conteúdo do servidor de controle de versão.
- Comando Destroy (Controle de Versão do Team Foundation): exclui permanentemente arquivos controlados por versão.
- Comando LocalVersions: exibe as versões dos itens do workspace.
Para obter mais informações, consulte Usar o Gerenciador de Controle de Origem para gerenciar arquivos sob controle de versão.
Exibir e gerenciar versões anteriores
- Comando changeset: altera ou exibe atributos de conjunto de alterações.
- Comando Histórico: exibe o histórico de revisão de arquivos ou pastas.
- Comando de rótulo (Controle de Versão do Team Foundation): anexa ou remove rótulos de arquivos ou pastas.
- Comando Rótulos: exibe informações sobre rótulos que estão em uso no servidor.
- Comando de reversão (Controle de Versão do Team Foundation): reverte os efeitos dos conjuntos de alterações.
- Comando Unlabel: remove um item de um rótulo existente no servidor.
- Comando de exibição: recupera uma versão especificada de um arquivo e a exibe.
Para obter mais informações, consulte Exibir e gerenciar versões anteriores.
Comparar pastas e arquivos
- Comando de diferença: compara as diferenças entre arquivos e conjuntos de prateleiras.
- Comando Folderdiff: compara diferenças entre arquivos em duas pastas.
Para obter mais informações, consulte Exibir e gerenciar versões anteriores.
Resolver conflitos de arquivo
- Resolver o comando: resolve conflitos entre itens em seu workspace e no servidor.
Para obter mais informações, consulte Resolver conflitos de controle de versão do Team Foundation.
Trabalhar com bloqueios de controle de versão
- Comando de bloqueio: bloqueia ou desbloqueia arquivos e pastas.
Para obter mais informações, consulte Trabalhar com bloqueios de controle de versão.
Isolar risco
Use os seguintes comandos para isolar o risco usando branches:
Para obter mais informações, consulte Usar branches para isolar o risco no Controle de Versão do Team Foundation.
Administrar controle de versão
Use os seguintes comandos para gerenciar seu sistema de controle de versão:
Para obter mais informações, consulte Definir configurações de check-out.
Obter ajuda em comandos de controle de versão
Use os seguintes comandos para obter informações detalhadas sobre comandos de controle de versão:
Entender a sintaxe de comando
A sintaxe de cada comando aparece na parte superior de cada artigo de referência.
Argumentos obrigatórios e opcionais
Argumentos não entre colchetes são necessários. [Colchetes] indicam argumentos opcionais que não são necessários para concluir um comando. No entanto, alguns argumentos opcionais têm padrões que são aplicados ao comando mesmo que você não especifique a opção.
Argumentos exclusivos
Quando as opções são separadas por um pipe (|), você pode especificar uma das opções.
Argumentos verbatim e substituíveis
Itens que não estão entre colchetes são opções que você inclui verbatim. Itens entre colchetes angulares (< e >) são argumentos que você deve substituir por caracteres reais para executar um comando.
Atalhos de comando e aliases
Alguns comandos dão suporte a atalhos. Por exemplo, você pode chamar o comando Delete com ou tf deletetf del.
Example
Por exemplo, considere o comando Checkout:
tf checkout [/lock:( none|checkin|checkout)] [/recursive] <item-spec> [/login: <username>, [<password>]]
Este exemplo inclui os seguintes argumentos:
-
<item-spec>: você deve substituir esse argumento por uma especificação de item que identifique os itens que você está fazendo check-out. - Os argumentos a seguir são opcionais. Se você não for fornecê-los, nenhum dos efeitos deles se aplicará ao comando:
-
/lock:(none|checkin|checkout): se você não especificar a opção/lock, o sistema usará/lock:nonepor padrão. Caso contrário, você poderá especificar uma das outras opções de bloqueio. -
/recursive: se você quiser fazer check-out recursivamente de vários itens em uma pasta, especifique essa opção verbatim. -
/login:<username>, <password>: se você quiser executar o comando como outro usuário, deverá especificar a opção/loginverbatim e substituir<username>pelo nome do usuário. Se necessário, substitua<password>pela senha do usuário.
-
Especificar os itens afetados por um comando
Você pode usar especificações de item e especificações de versão para especificar quais itens são afetados por um comando.
Usar um argumento de especificação de item para especificar itens afetados
Você usa uma especificação de item para especificar os itens afetados por um comando. Você pode especificar itens em um computador cliente ou no servidor do Azure DevOps. Você pode usar caracteres curinga como * e ?.
Argumentos de especificação de item do cliente
Um argumento de especificação de item do cliente especifica um caminho para itens em um computador cliente, como:
- Uma pasta, por exemplo, c:\code\SiteApp\Main\SolutionA\.
- Um arquivo, por exemplo, c:\code\SiteApp\Main\SolutionA\Project1\program.cs.
- Vários arquivos, por exemplo, c:\code\SiteApp\Main\SolutionA\*.cs.
- Um caminho UNC (convenção de nomenclatura universal), como \\myshare\code\SiteApp\Main.
Argumentos de especificação de item de servidor
Um argumento de especificação de item de servidor especifica um caminho para itens no servidor do Azure DevOps, como:
- Uma pasta, por exemplo, $/SiteApp/Main/SolutionA.
- Um arquivo, por exemplo, $/SiteApp/Main/SolutionA/Project1/program.cs.
- Vários arquivos, por exemplo, $/SiteApp/Main/SolutionA/*.cs.
Normalmente, você usa argumentos de especificação de item de servidor quando precisa executar um comando em itens que não estão no computador cliente. Por exemplo, digamos que você esteja trabalhando em um computador de desenvolvimento. Se você precisar obter alguns dados de histórico de revisão sobre alguns itens que estão em uma coleção de projetos em que você não trabalha, use o seguinte comando:
c:\>tf history /collection:https://fabrikam-3:8080/tfs/DefaultCollection
$/SiteApp/Main/SolutionA/Project1/* /recursive
/noprompt
Vários argumentos de especificação de item
Para alguns comandos, você pode especificar vários argumentos de especificação de item, por exemplo:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
Este comando verifica program.cs e program2.c.
Usar um argumento de especificação de versão para especificar versões afetadas de itens
Você usa uma especificação de versão para especificar a versão dos itens afetados por um comando. Para fornecer uma especificação de versão, você pode:
Use a opção
/version, por exemplo,/version:C44.Acrescente a especificação de versão a uma especificação de item com um ponto-e-vírgula, por exemplo,
program1.cs;C44.
Ao usar o comando Histórico ou o comando Diferença, você pode especificar um intervalo de versões separando as versões com um bloco, por exemplo:
c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2022~D4/24/2022
Use a sintaxe a seguir para especificar uma especificação de versão:
| Tipo | Sintaxe | Description | Exemplos | Resultado |
|---|---|---|---|---|
| Conjunto de alterações | [C]<version-number> |
Especifica itens com base em um número de conjunto de alterações. Se um item que está no escopo não tiver sido modificado no conjunto de alterações especificado, o sistema usará a versão mais recente do item que ocorreu antes do conjunto de alterações especificado. Você pode omitir C se especificar apenas um número. |
tf get readme.txt /v:C8tf get readme.txt /v:8tf get readme.txt;8 |
Se readme.txt foi modificado no conjunto de alterações 8, o código de exemplo obtém essa versão do arquivo. Caso contrário, ele obterá a versão mais recente do readme.txt antes da versão 8. |
| Etiqueta | L<label> |
Especifica itens aos quais um rótulo é aplicado. | tf get readme.txt;LJulyHotFixtf get /version:LLastKnownGood |
O primeiro exemplo obtém a versão de readme.txt que foi rotulada como JulyHotFix. O segundo recupera a versão de todos os itens rotulados (e exclui esses itens não rotulados) no workspace como eles existiam quando o conjunto de alterações rotulado LastKnownGood foi criado. Você pode usar o código no segundo exemplo como parte de um processo de build automatizado. |
| Data e hora | D<yyyy-mm-ddTxx:xx>or D<mm/dd/yyyy>or Qualquer formato compatível com o .NET Framework. or Qualquer um dos formatos de data com suporte no computador local. |
Especifica um conjunto de alterações que foi criado em uma data especificada em um momento específico. | tf get /version:D2022-03-22tf get /version:D2022-03-22T09:00 |
O primeiro exemplo atualiza o workspace para corresponder à base de código como ela existia em 22 de março de 2022 à meia-noite. O segundo atualiza o workspace para corresponder à base de código como ela existia em 22 de março de 2022 às 9h. Para obter mais informações sobre formatos de data e hora compatíveis com o .NET Framework, consulte datetime e cadeias de caracteres de formato de data e hora padrão. |
| Workspace atual | W |
Especifica a versão em seu workspace. | - | - |
| Workspace especificado | W<workspace-name>; <workspace-owner> |
Especifica a versão em um workspace especificado. | tf get /version:WResolveRIConflicts;PatW |
O exemplo especifica a versão no ResolveRIConflicts workspace que PatW possui. |
| Dica | T |
Especifica a versão mais recente. | - | - |
Usar opções para modificar como um comando funciona
Você pode usar algumas opções comuns para modificar como um comando funciona.
Use a opção /noprompt para suprimir solicitações de entrada de dados e redirecionar dados de saída
Use a opção /noprompt para suprimir solicitações de entrada de dados e redirecionar dados de saída para a janela do prompt de comando. Essa opção pode ser útil quando você precisa usar comandos de controle de versão em um script em que:
- O comando prossegue sem intervenção de um usuário.
- Os dados estão disponíveis para o script executar operações, como análise ou captura.
Quando você usa essa opção, o sistema:
Suprime todas as solicitações de entrada:
- Perguntas não são feitas na janela do prompt de comando. Por exemplo, quando você usa o comando Desfazer com essa opção, o sistema não solicita que você confirme se deseja desfazer as alterações.
- Janelas e caixas de diálogo não são exibidas. Por exemplo, você pode usar essa opção com o comando Checkin. O sistema não exibe a caixa de diálogo Check-In para você confirmar itens e itens de trabalho associados. Em vez disso, o sistema verifica os itens sem confirmação.
Redireciona dados de saída para o prompt de comando. Por exemplo, você pode usar essa opção com o comando Histórico. Os dados são exibidos na janela do prompt de comando em vez da janela Histórico.
Usar a opção /login para especificar credenciais
Use a opção /login para especificar a conta de usuário do servidor do Azure DevOps para executar um comando. Essa opção pode ser útil quando você trabalha no computador de outro membro da equipe.
Por exemplo, digamos que você esteja trabalhando no computador de desenvolvimento do membro da equipe. Use o comando Bloquear para desbloquear um arquivo que você bloqueou anteriormente:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>,<password>
Se você quiser evitar que sua senha apareça no prompt de comando, insira o comando sem a senha:
c:\code\SiteApp\Main> tf lock /lock:none program.cs /login:<username>
Depois de inserir esse comando, o sistema solicitará que você insira sua senha em uma caixa de diálogo que mascara sua entrada.
Usar a opção /lock para aplicar ou remover um bloqueio
Importante
Como prática recomendada, use a opção /lock com discrição. Informe seus colegas de equipe por que você está bloqueando um item e quando planeja remover o bloqueio.
Use a opção /lock para aplicar ou remover um bloqueio ao mesmo tempo em que você executa outro comando, como Adicionar ou Editar.
/lock:(none|checkin|checkout)
O /lock comando usa as seguintes opções:
None: nenhum bloqueio é colocado em um item. Se um bloqueio já estiver em vigor, ele será removido.CheckinouCheckout: um bloqueio é aplicado. Para obter mais informações, consulte Entenda os tipos de bloqueio.
Observação
Em alguns casos, a operação de bloqueio pode falhar:
- Se outros usuários bloquearem qualquer um dos itens especificados, a operação de bloqueio falhará.
- Se já houver uma alteração pendente no item especificado, o sistema ignorará essa opção. Nesse caso, você deve usar o comando Lock para alterar um bloqueio em um item.
Usar atalhos de opção
Você pode abreviar as opções a seguir.
Opção
Alias de opção
/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
Entender códigos de saída
Os comandos de controle de versão retornam os seguintes códigos de saída:
Sair do código
Definição
0
Êxito.
1
Sucesso parcial. Pelo menos algo, ou possivelmente tudo, não conseguiu.
2
Comando não reconhecido.
100
Nada foi bem-sucedido.
Por exemplo, digamos que você execute o seguinte comando:
c:\code\SiteApp\Main\SolutionA\Project1\>tf checkout program1.cs program2.c
Se um dos arquivos que você está tentando fazer check-out não existir no servidor, o comando retornará 1 para indicar o êxito parcial.