Compartilhar via


Entenda como os comandos do Controle de Versão do Team Foundation (TFVC) são mapeados para os fluxos de trabalho do Git

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Você planeja adotar o Git, conhece as ações do TFVC e se pergunta como elas são mapeadas para o Git? Ambos são sistemas de controle do código-fonte avançados e maduros. No entanto, mapear ações comuns às quais você se acostumou de um lugar para o outro pode ser uma experiência confusa.

Este artigo não se aprofunda nos comandos do Git, pois eles estão bem explicados na documentação do produto, mas mostram exemplos para ajudar você a tomar as decisões certas durante um >fluxo de trabalho> típico de criação -> clone -> branch -> alteração - commit - push.

Começar pelo início e criar um repositório

Cada projeto pode hospedar repositórios TFVC e Git no mesmo projeto, criando um TFVC e um ou mais repositórios Git.

Criar um Repositório do Git no Azure Repos

Depois que o repositório for criado, você receberá instruções passo a passo para começar rapidamente.

Comece com um novo Repositório do Git no Azure Repos

Clique em Criar um arquivo leiame no final da página de instruções para fornecer o contexto do repositório e criar algum histórico.

Criar um LEIAME para inicializar um novo Repositório do Git no Azure Repos

Criar um workspace e obter o mais recente

Ao se conectar a um repositório TFVC pela primeira vez, você normalmente cria um workspace e obtém o código mais recente. Então, como começar no Git?

Semelhante a um workspace no TFVC, clone o Repositório do Git para uma pasta em seu computador. A clonagem fará o download de todo o conteúdo e o histórico do repositório para o computador local. Depois de clonar o repositório, quase todas as operações são executadas localmente. Você pode trabalhar offline com um backup completo do repositório centralizado.

git clone https://dev.azure.com/demo-fabrikam/Fabrikam/_git/Mapping-TFVC-actions-to-Git

Você só precisa clonar uma vez por repositório, mas, como workspaces do TFVC, pode ter vários clones para isolar o trabalho em andamento. No entanto, o branching normalmente é uma maneira melhor de isolar as alterações.

Criar um branch

Com o Git, você está sempre trabalhando em um branch, que por padrão é o main. É recomendável criar vários branches locais. É um processo que leva segundos e permite ver o contexto entre branches e trabalhar isoladamente. Ao contrário dos branches do TFVC, que têm como escopo os caminhos, os branches do Git têm escopo no repositório. Eles são leves, só podem ser locais ou compartilhados com outras pessoas quando você estiver com tudo pronto para compartilhar suas alterações.

Considere o branching se você precisar trabalhar isoladamente, precisar suspender seu trabalho, concentrar-se em novos recursos ou se estiver planejando realizar uma pull request do Git.

Como usuário do TFVC, repita algumas vezes:

  • O branching é recomendado!
  • O branching do Git é barato, rápido e poderoso!
  • O Git incentiva você a usar branches locais.
  • Publique branches locais em seu repositório centralizado conforme necessário.
  • Sempre verifique o contexto do branch antes de fazer alterações.
  • Nomeie o branch usando uma convenção comum, como users/alias/branchname, por exemplo: users/doris/newfeature

Crie e alterne para um branch do tópico local, chamado francis/demo-feature. É uma boa prática executar um git status primeiro para verificar se você está no branch certo para começar.

git checkout -b francis/demo-feature

Criar um novo GIT branch na linha de comando do Windows

Fazer uma alteração adicionando arquivos

Semelhante à experiência do TFVC, novos arquivos na pasta de trabalho não fazem parte automaticamente do repositório. Você prepara seus novos arquivos com o comando git add, que é sinônimo de executar uma operação add Items to Folder no TFVC.

git add <file>

ou

git add --all

Ao utilizar a amostra pré-configurada, você terá 13 novos arquivos que foram incluídos e preparados no repositório local.

Exibir alterações pendentes

Quer saber quais alterações estão agora em seu ambiente de trabalho? Como antes, o comando Git status ou a exibição Changes no IDE do Visual Studio mostrarão alterações em sua árvore de trabalho.

git status

Usar o Status do Git para mostrar alterações preparadas

Fazer check-in das alterações e fazer commit no local

No TFVC, você compartilha suas alterações com um check-in, que envia suas alterações pendentes para o servidor. O processo do Git é um pouco diferente. Primeiro, você faz commit no repositório local, criando um objeto de commit (como um conjunto de alterações), e envia por push essas alterações para o servidor.

Você faz commit das alterações no repositório local usando git commit, semelhante a Checkin Pending Changes no TFVC. Uma diferença importante é que o git commit faz commit das suas alterações no repositório local em vez de no repositório remoto.

git commit

Fazer check-in de alterações com o repositório do servidor/remoto

Primeiro, você precisa publicar seu branch local francis/demo-feature no servidor remoto, que inclui todas as alterações confirmadas.

git push --set-upstream origin francis/demo-feature

Para sincronizar outras atualizações no local com o repositório remoto, você precisa enviar suas alterações por push usando git push. A prática recomendada com o comando git ou o IDE do Visual Studio é:

  • fetch para baixar conteúdo e visualizar alterações enviadas por outras pessoas.
  • pull para baixar e, em seguida, mesclar alterações de outras pessoas.
  • push para compartilhar suas alterações locais.

Exibir histórico

Para ver o commit que você acabou de criar, examine o histórico local.

Para um histórico compacto, use:

git log --oneline

Para obter uma exibição detalhada, use:

git log

Usar o log do Git para examinar o histórico do branch

Conforme mostrado acima, git log lista o autor, o email, a data gravada e a soma de verificação sha-1 do commit. Como usuário do TFVC, talvez você queira usar a opção --stat para incluir mais informações, como nome do arquivo e estatísticas de alteração.

Você também pode exibir o histórico do repositório centralizado usando o portal da Web do Azure DevOps Services.

No portal da Web do Azure DevOps Services, escolha CÓDIGO > Histórico ou CÓDIGO > Explorer > Histórico

Exibir o histórico do branch no Azure Repos

Agora você já conhece o fluxo de trabalho criar -> clonar -> ramificar -> alterar -> confirmar -> enviar, com base em ações comuns do TFVC.

Você também tem a opção de emitir uma pull request para publicar e preparar suas alterações no repositório remoto/do servidor neste momento.

Outras ações

Alternar branches

Ao trabalhar com o Git, você não altera branches alternando para pastas e locais separados em seu computador. Você altera o contexto fazendo um checkout, para que todo o diretório de trabalho corresponda ao branch ou commit selecionado. Rápido e simples!

Linha de comando

git checkout <branch>

Se você esqueceu quais branches tem em seu repositório local, use git branch para listar os branches padrão e conhecidos.

Tenha em mente em qual branch você está trabalhando! Ao trabalhar com vários branches no Git, você alterna branches no mesmo diretório de trabalho. Alternar entre branches é uma operação rápida, e garantir que você esteja no branch certo o tempo todo é uma boa prática.

Obter última versão

Há muitos motivos para querer obter atualizações. Por exemplo, quando você precisar alternar o contexto para outro projeto, atualize o computador de desenvolvimento com a versão mais recente da base de código.

Linha de comando

git pull

ou

git fetch

seguido por

git merge FETCH_HEAD

Sempre obtenha a versão mais recente e resolva conflitos de mesclagem localmente.

Desfazer alterações locais

Pode haver um motivo válido para reverter todas as revisões feitas em seu repositório local e redefinir seu ambiente de trabalho para a versão mais recente do repositório remoto.

Linha de comando

git reset --hard HEAD

seguido por

git pull origin

seguido por

git clean -xdf

O cenário é sinônimo de fazer um Get > Latest Version com as opções Overwrite writable files that are not checked out e Overwrite all files if the local version matches the specified version no TFVC.

Como alternativa, você pode excluir manualmente o repositório local, depois de fazer uma cópia validada, claro, e, em seguida, criar um clone do repositório novamente.

Há muito mais ações e opções disponíveis para os usuários do Git. Aqui estão alguns sites de referência úteis para leitura adicional:

P e R

E quanto à sincronização?

"O IDE do Visual Studio Commit and Sync não faz tudo isso magicamente?", você pode estar se perguntando.

Selecione Git>Commit ou Stash para abrir Alterações do Git. Selecione o menu suspenso Confirmar tudo e, em seguida, Confirmar tudo e sincronizar.

Ou, no Team Explorer, selecione o menu suspenso Commit e, em seguida, Commit e sincronização.

Commit e sincronização no Team Explorer

Com a magia vem a responsabilidade! Muitos usuários não gostam de sync, pois às vezes pode bagunçar seu histórico local e adicionar um commit de mesclagem sobre o commit atual. Quando estiver em um estado inválido, você precisará reverter para a linha de comando, pois atualmente não há suporte para redefinição no IDE.

Autores: Jesse Houwing, Martin Hinshelwood, Mike Fourie e Willy Schaub da ALM | DevOps Rangers. Conecte-se com eles aqui.

(c) 2015 Microsoft Corporation. Todos os direitos reservados. Este documento é fornecido como foi escrito. As informações e opiniões apresentadas neste documento, incluindo URLs e outras referências a sites da Web, podem ser alteradas sem aviso prévio. Você assume o risco de usá-las.

Este documento não fornece direitos legais e nenhuma propriedade intelectual sobre qualquer produto da Microsoft. Você pode copiar e usar este documento para fins de referência interna.