O que é Controle de Versão do Team Foundation?

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

Visual Studio 2022 | Visual Studio | 2019 Visual Studio 2017 | Visual Studio 2015 | Visual Studio 2013

Se o projeto de software for grande ou pequeno, o uso do controle de versão assim que possível será uma boa ideia. Sistemas de controle de versão são softwares que ajudam você a controlar as alterações feitas em seu código ao longo do tempo. Ao editar seu código, você informa ao sistema de controle de versão para tirar um instantâneo de seus arquivos. O sistema de controle de versão guarda o instantâneo permanentemente, para que você possa revisá-lo, se precisar.

Azure DevOps Services e TFS fornecem dois modelos de controle de versão: Git, que é controle de versão distribuída, 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 usar Controle de Versão do Team Foundation. Se você estiver decidindo qual tipo de controle de versão Azure DevOps Services/TFS usar, consulte Escolher o controle de versão certo para o projeto.

Por que usar o controle de versão?

Sem o controle de versão, você fica tentado a manter várias cópias de código em seu computador. Isso é perigoso, pois é 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 por vez.

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

  • Criar fluxos de trabalho – fluxos de trabalho de controle de versão impedem o caos de todos que usam seu próprio processo de desenvolvimento com ferramentas diferentes e incompatíveis. Os sistemas de controle de versão fornecem imposição e permissões de processo 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 seguir as alterações em seu código por versão, em vez de por alterações de arquivo individuais. O código armazenado em versões pode ser exibido e restaurado a partir do controle de versão a qualquer momento, conforme necessário. Isso facilita a base de novo trabalho de qualquer versão do código.
  • Codificar juntos – o controle de versão sincroniza as versões e garante que suas alterações não entrem em conflito com outras alterações da sua equipe. Sua equipe depende do controle de versão para ajudar a resolver e evitar 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 código. Esse histórico pode ser revisado para descobrir quem, por que e quando as alterações foram feitas. O histórico lhe dá a confiança para experimentar, pois você pode reverter para uma versão boa anterior a qualquer momento. O histórico permite que você baseie o trabalho de qualquer versão do código, como corrigir um bug em uma versão anterior.
  • Automatizar tarefas – os recursos de automação de controle de versão economizam tempo de sua equipe e geram resultados consistentes. Você pode automatizar testes, análise de código e implantação quando novas versões forem 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 a tempo.

Controle de Versão do Team Foundation

O Controle de Versão do Team Foundation (TFVC) é um sistema de controle de versão centralizado. Normalmente, os membros da equipe têm somente uma versão de cada arquivo nos computadores de desenvolvimento. Os dados históricos são mantidos somente 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 a um nível de arquivo. Como sua equipe verifica todo o trabalho em Team Foundation Server, você pode auditar facilmente as alterações e identificar qual usuário verificou em um conjunto de alterações. Usando comparar e anotar, você pode identificar as alterações exatas feitas.

Inícios rápidos

Introdução criando um projeto, configurando seu workspace e examinando e compartilhando seu código. Você pode usar qualquer um desses clientes ou IDEs:

Tutoriais passo a passo

Conheça os conceitos básicos de trabalhar no TFVC com o tutorial a seguir, que mostra um dia na vida de um desenvolvedor devops usando Visual Studio e TFVC.

O que você deseja fazer?

  • Configurar seu computador de desenvolvimento e começar

    Dedique alguns minutos para configurar seu computador de desenvolvimento para tirar proveito de todos os benefícios de uma base de código controlada por versão.

  • Escolha seu modelo de fluxo de trabalho – servidor ou workspaces locais

    • Workspaces do servidor – Antes de fazer alterações, os membros da equipe fazem check-out publicamente dos arquivos. A maioria das operações exige que os desenvolvedores estejam conectados ao servidor. Esse sistema facilita o bloqueio de fluxos de trabalho. Outros sistemas que funcionam dessa forma incluem o Visual Source Safe, o Perforce e o CVS. Com workspaces de servidor, você pode escalar verticalmente até bases de código muito grandes com milhões de arquivos por branch e arquivos binários grandes.

    • Workspaces locais - Cada membro da equipe usa uma cópia da versão mais recente da base de código com eles e funciona offline conforme necessário. Os desenvolvedores fazem o check-in de suas alterações e resolvem os conflitos conforme necessário. Outro sistema que funciona dessa maneira é o Subversion.

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

    Você não precisa pensar no controle de versão na maioria das situações. O sistema oferece suporte a você quando é preciso gerenciar e entender as alterações.

  • Suspender seu trabalho

    Às vezes, você precisa separar parte ou todo o trabalho que você está fazendo. O sistema de controle de versão pode tornar o trabalho mais fácil e reduzir o tempo desperdiçado por interrupções.

  • Contribuir com seu trabalho para a equipe

    Verifique suas alterações para que sua equipe possa criar, testar e liberar o valor que você criou.

  • Isolar riscos

    Use ramificações e bloqueios para isolar o risco introduzido pelo trabalho feito por equipes diferentes.

  • Exibir e gerenciar versões anteriores

    Uma vantagem do sistema de controle de versão é que você pode verificar dados de um momento anterior para obter informações detalhadas sobre quais alterações foram feitas em seus arquivos.

  • Comparar pastas e arquivos

    Você pode comparar pastas do servidor e pastas locais entre si e ver 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. Um desvantagem é que às vezes você deve resolver conflitos. Embora possa ser frustrante encontrar conflitos, o sistema fornece informações e ferramentas para ajudá-lo compreender e resolver os conflitos.

  • Trabalhar com bloqueios de controle de versão

    Quando você precisa impedir que um arquivo ou pasta passem por check-out e sejam alterados, é possível bloqueá-los.

Operações disponíveis somente no tf ommand-Line

A tabela a seguir lista tarefas para o controle de versão do Team Foundation que você pode executar somente em um prompt de comando usando a ferramenta de linha de comando tf .

Tarefa Comando
Exclua o workspace de outro usuário. Comando workspace com a opção /delete.
Desfazer o check-out de outro usuário. Comando Desfazer
Remova o bloqueio de outro usuário. Comando Lock
Definir o escopo do rótulo. Comando Label
Execute uma mesclagem sem base. Comando Merge
Destruir permanentemente o conteúdo. Destruir comando
Reverta o efeito de um ou mais conjuntos de alterações. Comando Rollback