O que é Team Foundation Version Control?

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Se o seu projeto de software é grande ou pequeno, usar o controle de versão o mais rápido possível é uma boa ideia. Os sistemas de controle de versão consistem em software que ajuda você a rastrear as alterações feitas em seu código ao longo do tempo. Ao editar seu código, você diz ao sistema de controle de versão para tirar um instantâneo de seus arquivos. O sistema de controle de versão salva esse instantâneo permanentemente para que você possa recuperá-lo mais tarde, se precisar.

Os Serviços de DevOps do Azure e o TFS fornecem dois modelos de controle de versão: Git, que é controle de versão distribuído, e Controle de Versão do Team Foundation (TFVC), que é controle de versão centralizado. Este artigo fornece uma visão geral e um ponto de partida para o uso do TFVC. Se você estiver decidindo qual tipo de controle de versão do Azure DevOps Services/TFS usar, consulte Escolhendo o controle de versão certo para seu projeto.

Por que usar o controle de versão?

Sem controle de versão, você fica tentado a manter várias cópias de código no seu computador. Isso é perigoso, porque é fácil alterar ou excluir um arquivo na cópia errada do código, potencialmente perdendo trabalho. Os sistemas de controle de versão resolvem esse problema gerenciando todas as versões do seu código, mas apresentando uma única versão de cada vez.

Os sistemas de controle de versão oferecem os seguintes benefícios:

  • Criar fluxos de trabalho - Os fluxos de trabalho de controle de versão evitam o caos de todos usando seu próprio processo de desenvolvimento com ferramentas diferentes e incompatíveis. Os sistemas de controle de versão fornecem imposição de processos e permissões para que todos permaneçam na mesma página.
  • Trabalhar com versões - Cada versão tem uma descrição do que as alterações na versão fazem, como corrigir um bug ou adicionar um recurso. Essas descrições ajudam você a acompanhar as alterações no código por versão, em vez de por alterações de arquivo individuais. O código armazenado em versões pode ser visualizado e restaurado a partir do controle de versão a qualquer momento, conforme necessário. Isso facilita a base do novo trabalho em qualquer versão do código.
  • Código em conjunto - O controle de versão sincroniza versões e garante que suas alterações não entrem em conflito com outras alterações da sua equipe. Sua equipe confia no controle de versão para ajudar a resolver e prevenir conflitos, mesmo quando as pessoas fazem alterações ao mesmo tempo.
  • Manter um histórico - O controle de versão mantém um histórico de alterações à medida que sua equipe salva novas versões do seu código. Esse histórico pode ser revisado para descobrir quem, por que e quando as alterações foram feitas. O histórico dá-lhe a confiança para experimentar, uma vez que pode reverter para uma boa versão anterior a qualquer momento. O histórico permite basear o trabalho a partir de qualquer versão do código, como para corrigir um bug em uma versão anterior.
  • Automatize tarefas - Os recursos de automação de controle de versão economizam tempo da sua equipe e geram resultados consistentes. Você pode automatizar o teste, a análise de código e a implantação quando novas versões são salvas no controle de versão.

Há muitas coisas que podem ocupar seu tempo como desenvolvedor: reproduzir bugs, aprender novas ferramentas e adicionar novos recursos ou conteúdo. À medida que as demandas de seus usuários aumentam, o controle de versão ajuda sua equipe a trabalhar em conjunto e enviar no prazo.

Controlo de Versões do Team Foundation

TFVC é um sistema de controle de versão centralizado. Normalmente, os membros da equipe têm apenas uma versão de cada arquivo em suas máquinas de desenvolvimento. Os dados históricos são mantidos apenas no servidor. As ramificações são baseadas em caminho e criadas no servidor.

O TFVC permite aplicar permissões granulares e restringir o acesso até um nível de arquivo. Como sua equipe verifica todo o seu trabalho no Servidor de DevOps do Azure, você pode auditar facilmente as alterações e identificar qual usuário fez check-in em um conjunto de alterações. Usando comparar e anotar, você pode identificar as alterações exatas que eles fizeram.

Guias de Início Rápido

Comece criando um projeto, configurando seu espaço de trabalho e revisando e compartilhando seu código. Você pode usar qualquer um destes clientes ou IDEs:

Tutoriais passo-a-passo

Aprenda as noções básicas de trabalho em TFVC com o tutorial a seguir, que mostra um dia na vida de um desenvolvedor de DevOps usando Visual Studio e TFVC.

O que pretende fazer?

  • Configure sua máquina de desenvolvimento e comece

    Gaste alguns minutos para configurar sua máquina de desenvolvimento para aproveitar todos os benefícios de uma base de código controlada por versão.

  • Escolha seu modelo de fluxo de trabalho - servidor ou espaços de trabalho locais

    • Espaços de trabalho do servidor - Antes de fazer alterações, os membros da equipe fazem check-out público dos arquivos. A maioria das operações requer que os desenvolvedores estejam conectados ao servidor. Este sistema facilita o bloqueio de fluxos de trabalho. Outros sistemas que funcionam dessa forma incluem Visual Source Safe, Perforce e CVS. Com espaços de trabalho de servidor, você pode escalar para bases de código muito grandes com milhões de arquivos por ramificação e arquivos binários grandes.

    • Espaços de trabalho locais - Cada membro da equipe leva consigo uma cópia da versão mais recente da base de código e trabalha offline conforme necessário. Os desenvolvedores verificam suas alterações e resolvem conflitos conforme necessário. Outro sistema que funciona desta forma é o Subversion.

  • Desenvolva seu aplicativo em uma base de código controlada por versão

    Você não precisa pensar em controle de versão na maioria das situações. O sistema apoia-o quando precisa de gerir e compreender as suas alterações.

  • Suspender o seu trabalho

    Às vezes, você precisa deixar de lado parte ou todo o trabalho que está fazendo. Seu sistema de controle de versão pode tirar um pouco da dor e reduzir o tempo perdido por interrupções.

  • Contribua com o seu trabalho para a equipa

    Faça check-in de suas alterações para que sua equipe possa aproveitar, testar e liberar o valor que você criou.

  • Isolar o risco

    Use galhos e fechaduras para isolar o risco introduzido pelo trabalho realizado por diferentes equipes.

  • Ver e gerir versões anteriores

    Uma vantagem de um sistema de controle de versão é que você pode olhar para trás no tempo para obter informações detalhadas sobre quais alterações foram feitas em seus arquivos.

  • Comparar pastas e ficheiros

    Você pode comparar pastas do servidor e pastas locais entre si e exibir as diferenças entre o conteúdo de cada pasta.

  • Resolver conflitos de Controle de Versão do Team Foundation

    Uma grande vantagem de usar o controle de versão é que várias pessoas podem trabalhar simultaneamente em um arquivo. Uma desvantagem é que, às vezes, você precisa resolver conflitos. Embora possa ser frustrante encontrar conflitos, o sistema fornece informações e ferramentas para ajudá-lo a entender e resolver conflitos.

  • Trabalhar com bloqueios de controle de versão

    Quando precisar impedir que um arquivo ou pasta seja submetido a check-out e alteração, você poderá bloqueá-lo.

Operações disponíveis apenas a partir da linha de comando tf

A tabela a seguir lista as tarefas para TFVC que você pode executar somente em um prompt de comando usando a ferramenta de linha de tf comando.

Task Comando
Exclua o espaço de trabalho de outro usuário. workspace com a /delete opção
Desfazer o check-out de outro usuário. undo
Remova o bloqueio de outro usuário. lock
Defina o escopo do rótulo. label
Execute uma mesclagem sem base. merge
Destrua permanentemente o conteúdo. destroy
Reverter o efeito de um ou mais conjuntos de alterações. rollback