Como o Visual Studio facilita o controle de versão com o Git

Você já quis voltar para uma versão de trabalho anterior do seu código? Você acha que armazena manualmente cópias do seu código em locais diferentes como um backup? O controle de versão é a resposta.

O Git é o sistema de controle de versão moderno mais usado. Com o Git, você pode acompanhar as alterações de código feitas ao longo do tempo e reverter para versões específicas. Portanto, se você é um desenvolvedor profissional ou se está aprendendo a codificar, a experiência do Git do Visual Studio pode ser muito útil para você.

Dica

Para saber mais sobre como usar o Git e o GitHub no Visual Studio, inscreva-se na série de aprendizagem do Git.

Começar com o Git no GitHub no Visual Studio

O controle de versão com o Visual Studio é fácil com o Git. Estamos onde você está. É possível trabalhar remotamente com o provedor Git de sua escolha, como o GitHub ou o Azure DevOps. Ou você pode trabalhar localmente sem nenhum provedor.

Para começar a usar o Git com o Visual Studio:

  • Se você tiver um repositório Git hospedado em um provedor Git como o GitHub, faça uma cópia do repositório em seu computador local.

  • Caso contrário, crie facilmente um novo repositório Git e adicione seu código. Se você ainda não tiver um provedor Git, recomendamos começar com o GitHub, pois a experiência do Git no Visual Studio é otimizada para esse provedor. O GitHub oferece armazenamento de código de nuvem gratuito e seguro em que você pode armazenar seu código e acessá-lo de qualquer dispositivo, em qualquer lugar.

Além de adicionar contas do GitHub e do GitHub Enterprise ao conjunto, você também pode aproveitá-las da mesma forma que faz com as contas da Microsoft. Se você não tiver uma conta do GitHub, siga estas etapas para criar uma conta do GitHub a ser usada com o Visual Studio agora.

Se você é novo no Git, o site https://git-scm.com/ é um bom local para começar.

Screenshot of the Create a Git Repository dialog box in Visual Studio.

Mostrar arquivos no Gerenciador de Soluções

Quando você clona um repositório ou abre um repositório local, o Visual Studio alterna para o contexto do Git. O Gerenciador de Soluções carrega a pasta na raiz do repositório Git e verifica a árvore de diretório em busca de arquivos visualizáveis, como CMakeLists.txt ou aqueles com a extensão de arquivo .sln. Para obter mais informações, consulte Visualizar arquivos no Gerenciador de soluções.

Fluxo de trabalho loop interno intuitivo

Para o fluxo de trabalho do Git diário, o Visual Studio oferece uma forma perfeita de interagir com o Git durante a codificação sem que mude o código.

É possível fazer várias tarefas e experimentar seu código por meio de branches. Se você ou sua equipe trabalhar em vários recursos ao mesmo tempo ou se quiser explorar ideias sem mudar seu código de trabalho, a ramificação será muito útil. O fluxo de trabalho do Git recomendado usa um novo branch para cada recurso ou correção trabalhada por você. Saiba como criar um branch do Visual Studio.

Depois de criar um branch e mudar para ele, comece a trabalhar alterando os arquivos existentes ou adicionando novos e confirmando seu trabalho no repositório. Para saber mais sobre como fazer uma confirmação no Visual Studio e entender melhor os estados de arquivo no Git, consulte a página Criar uma confirmação.

O Git é um sistema de controle de versão distribuído, o que significa que todas as alterações feitas até agora são apenas alterações locais. Para contribuir com essas alterações em um repositório remoto, envie essas confirmações locais para um remoto.

Se você estiver trabalhando em equipe ou usando computadores diferentes, também será necessário buscar e efetuar pull de novas alterações continuamente no repositório remoto. Para saber mais sobre como gerenciar operações de rede do Git no Visual Studio, consulte a página Buscar, efetuar pull, push e sincronização.

The Visual Studio IDE with the Git menu and the Git Changes tab in Solution Explorer showing.

Colaboração e gerenciamento de repositório

No entanto, há momentos em que faz mais sentido se concentrar no repositório Git. Por exemplo, talvez seja necessário ter uma boa visão do que sua equipe vem trabalhando ou copiar uma confirmação de um branch diferente ou apenas limpar suas confirmações de saída. O Visual Studio inclui recursos avançados de colaboração e navegação de repositório que eliminam a necessidade de usar outras ferramentas.

Para ajudar você a focar no repositório Git, o Visual Studio tem uma janela do Repositório Git, que é uma exibição consolidada de todos os detalhes em seu repositório, incluindo branches locais e remotos e histórico de confirmações. É possível acessar essa janela diretamente do Git ou Exibição na barra de menus ou na barra de status.

The Visual Studio IDE that highlights the Git menu and the Git Changes tab in Solution Explorer.

Procurar e gerenciar repositórios Git

Para saber mais sobre como você pode usar a janela repositório Git no Visual Studio para navegar e gerenciar seu repositório Git, consulte as seguintes páginas:

Identificar conflitos de mesclagem

Conflitos podem ocorrer durante uma mesclagem se dois desenvolvedores modificarem as mesmas linhas em um arquivo e o Git não souber automaticamente qual está correto. O Git interrompe a mesclagem e informa que está em um estado de conflito. Saiba mais na página Resolver conflitos de mesclagem.

Personalizar suas configurações do Git

Para personalizar suas configurações do Git em um nível de repositório, bem como em um nível global:

  1. Vá para Configurações do Git>Configurações na barra de menus ou Ferramentas>Opções>Controle do código-fonte>Configurações Globais do Git

  2. Escolha as opções desejadas.

    Screenshot of the Options dialog box where you can choose personalization and customization settings in Visual Studio IDE.

Melhorias de desempenho e produtividade

Quando se trata das ferramentas integradas do Git no Visual Studio, continuamos iterando em aprimoramentos de desempenho e produtividade. Veja aqui algumas atualizações notáveis:

Há ainda mais atualizações de recursos no Visual Studio 2022 versão 17.6, para incluir a capacidade de pesquisar e vincular a problemas do GitHub e itens de trabalho do Azure DevOps, entre alguns. Para obter todos os detalhes, confira a postagem no blog Recursos do Git para aprimorar a produtividade.

O Git agora é a experiência de controle de versão padrão no Visual Studio 2019. Desde a versão 16.6, trabalhamos na criação do conjunto de recursos e na iteração dele com base em seus comentários. Na versão 16.8, tornou-se a experiência de controle de versão padrão para todos.

Observação

Continuamos a compilar e iterar no conjunto de recursos do Git no Visual Studio 2022. Para saber mais sobre uma atualização de recurso recente, consulte a postagem no blog Suporte a vários repositórios no Visual Studio.

Saiba mais sobre o Git

O Git é o sistema de controle de versão moderno mais usado, portanto, se você é um desenvolvedor profissional ou está aprendendo a codificar, o Git pode ser muito útil. Se você é novo no Git, o site https://git-scm.com/ é um bom local para começar. Você vai encontrar roteiros, um livro online popular e vídeos de Conceitos Básicos do Git.

Começar com o Git no Visual Studio 2019

Explicaremos como usar a nova experiência do Git no Visual Studio, mas se você quiser fazer um tour rápido, confira o seguinte vídeo:

Tempo do vídeo: 5,27 minutos

Há três formas de começar a usar o Git com o Visual Studio para ser mais produtivo:

  • Criar um novo repositório Git: Se você já tiver um código que não esteja associado ao Git, pode começar criando um novo repositório Git.
  • Clonar um repositório Git existente. Se o código no qual você gostaria de trabalhar não estiver no computador, você poderá clonar todos os repositórios remotos existentes.
  • Abrir um repositório Git existente. Se o código já estiver em seu computador, é possível abri-lo usando Arquivo>Abrir>Projeto/Solução (ou Pasta) e o Visual Studio detectará automaticamente se tem um repositório Git inicializado.

Observação

A partir do Visual Studio 2019 versão 16.8, incluímos uma experiência de conta do GitHub totalmente integrada. Agora é possível adicionar contas do GitHub e do GitHub Enterprise ao conjunto de chaves. É possível adicionar as contas e aproveitá-las da mesma forma que as contas da Microsoft, o que significa que você terá mais facilidade para acessar seus recursos do GitHub no Visual Studio. Para obter mais informações, consulte a página Trabalhar com contas do GitHub no Visual Studio.

Dica

Se você não tiver uma conta do GitHub, pode começar de acordo com as etapas descritas na página Criar uma conta do GitHub a ser usada com o Visual Studio.

Criar um novo repositório Git no Visual Studio 2019

Se seu código não estiver associado ao Git, é possível começar criando um novo repositório Git. Para isso, selecione Git>Criar Repositório Git na barra de menu. Em seguida, na caixa de diálogo Criar um repositório Git, insira suas informações.

The Create a Git Repository dialog box in Visual Studio.

A caixa de diálogo Criar um repositório Git facilita o envio por push do novo repositório para o GitHub. Por padrão, o novo repositório é privado, o que significa que você é o único que pode ter acesso. Se você desmarcar a caixa, seu repositório será público, o que significa que qualquer pessoa no GitHub pode visualizar.

Dica

Não importa se o repositório é público ou privado, é melhor ter um backup remoto do código armazenado com segurança no GitHub, mesmo se você não estiver trabalhando na equipe. Também disponibiliza seu código, independentemente do computador que você está usando.

Você pode optar por criar um repositório Git somente local usando a opção Somente local. Ou pode vincular seu projeto local a um repositório remoto vazio existente no Azure DevOps ou qualquer outro provedor Git usando a opção Remoto existente.

Clonar um repositório Git existente no Visual Studio 2019

O Visual Studio inclui uma experiência de clonagem simples. Se você souber a URL do repositório que gostaria de clonar, cole a URL na seção Local do repositório e, em seguida, selecione o local do disco que gostaria que o Visual Studio clonasse.

The Clone a Git Repository dialog box in Visual Studio.

Se você não sabe a URL do repositório, o Visual Studio facilita a navegação e clona o repositório existente do GitHub ou do Azure DevOps.

Abrir um repositório local existente no Visual Studio 2019

Depois de clonar ou criar um repositório, o Visual Studio detecta o repositório Git e o adiciona à sua lista de Repositórios Locais no menu Git.

Assim, é possível acessar e alternar rapidamente entre seus repositórios Git.

The Local Repositories option from the Git menu in Visual Studio

Visualizar arquivos no Gerenciador de Soluções no Visual Studio 2019

Quando você clona um repositório ou abre um repositório local, o Visual Studio alterna esse contexto do Git salvando e fechando quaisquer soluções e projetos abertos anteriormente. O Gerenciador de Soluções carrega a pasta na raiz do repositório Git e verifica a árvore de diretório em busca de arquivos visualizáveis. Esses arquivos incluem CMakeLists.txt ou aqueles com a extensão de arquivo .sln.

O Visual Studio ajusta seu Modo de Exibição com base no arquivo que você carrega em Gerenciador de Soluções:

  • Se você clonar um repositório que contém um único arquivo .sln, o Gerenciador de Soluções carrega diretamente essa solução para você.
  • Se o Gerenciador de Soluções não detectar nenhum arquivo .sln no repositório, por padrão, ele carrega o Modo de Exibição de Pasta.
  • Se o repositório tiver mais de um arquivo .sln, o Gerenciador de Soluções mostra a lista de Exibições disponíveis para escolha.

É possível alternar entre o Modo de Exibição aberto no momento e a lista de Exibições usando o botão Alternar modos de exibição na barra de ferramentas do Gerenciador de Soluções.

Solution Explorer with the Switch Views button selected in Visual Studio.

Para obter mais informações, consulte a seção Exibir arquivos em Gerenciador de Soluções do tutorial Abrir um projeto de um repositório.

Git altera janela no Visual Studio 2019

O Git monitora as alterações de arquivo no seu repositório enquanto você trabalha e separa os arquivos no repositório em três categorias. Essas alterações são equivalentes ao que você veria ao inserir o comando git status na linha de comando:

  • Arquivos não modificados: esses arquivos não foram alterados desde a última confirmação.
  • Arquivos modificados: esses arquivos têm alterações desde a última confirmação, mas você ainda não os preparou para a próxima confirmação.
  • Arquivos preparados: esses arquivos têm alterações que serão adicionadas à próxima confirmação.

Conforme faz seu trabalho, o Visual Studio controla as alterações de arquivo em seu projeto na seção Alterações da janela Alterações do Git.

The Git Changes window in Visual Studio.

Quando estiver pronto para preparar as alterações, clique no botão (mais) + em cada arquivo que deseja preparar ou clique com o botão direito do mouse em um arquivo e selecione Preparar. Também é possível preparar todos os arquivos modificados com um clique usando o botão preparar tudo + (mais) na parte superior da seção Alterações.

Quando você prepara uma alteração, o Visual Studio cria uma seção Alterações preparadas. Somente as alterações na seção Alterações Preparadas são adicionadas à próxima confirmação, o que você pode fazer selecionando Confirmar Preparadas. O comando equivalente para essa ação é git commit -m "Your commit message". As alterações também podem não preparadas clicando no botão (menos). O comando equivalente para essa ação é git reset <file_path> remover preparação de um único arquivo ou git reset <directory_path> remover preparação de todos os arquivos em um diretório.

Você também pode optar por não preparar seus arquivos modificados ignorando a área de preparo. Nesse caso, o Visual Studio permite que você confirme suas alterações diretamente sem precisar prepará-las. Basta inserir sua mensagem de confirmação e, em seguida, selecione Confirmar Tudo. O comando equivalente para essa ação é git commit -a.

O Visual Studio também facilita a confirmação e a sincronização com um clique usando os atalhos Confirmar Tudo e Enviar e Confirmar Tudo e Sincronizar. Ao clicar duas vezes em qualquer arquivo nas seções Alterações e Alterações preparadas, veja uma comparação linha a linha com a versão não modificada do arquivo.

The line-by-line comparison of file versions in Visual Studio

Dica

É possível associar um item de trabalho do Azure DevOps a uma confirmação usando o caractere "#" se estiver conectado ao repositório do Azure DevOps. Conecte seu repositório do Azure DevOps pelo Gerenciador de Conexões do >Team Explorer.

Selecionar um branch existente no Visual Studio 2019

O Visual Studio exibe o branch atual no seletor na parte superior da janela Alterações do Git.

The current branches that you can view by using the selector at the top of the Git Changes selector in Visual Studio

O branch atual também está disponível na barra de status no canto inferior direito do IDE do Visual Studio.

The current branches that you can view by using the status bar at the bottom-right corner in the Visual Studio IDE

Em ambos os locais, você pode alternar entre branches existentes.

Criar um novo branch no Visual Studio 2019

Crie também um novo branch. O comando equivalente para essa ação é git checkout -b <branchname>.

Criar um branch é tão simples quanto inserir o nome do branch e baseá-lo em um branch existente.

The Create a New Branch dialog box in Visual Studio

Você pode escolher um branch local ou remoto existente como a base. A caixa de seleção Finalizar branch alterna automaticamente para o branch recém-criado. O comando equivalente para essa ação é git checkout -b <new-branch><existing-branch>.

Janela repositório Git no Visual Studio 2019

O Visual Studio tem uma nova janela Repositório Git, que é uma exibição consolidada de todos os detalhes em seu repositório, incluindo todos os branches, remotos e históricos de confirmação. É possível acessar essa janela diretamente do Git ou Exibição na barra de menus ou na barra de status.

Gerenciar branches no Visual Studio 2019

Ao selecionar Gerenciar Branches no menu Git, aparece a exibição de árvore de branches na janela Repositório Git. No painel esquerdo, você pode usar o menu de atalho com o clique com o botão direito do mouse para finalizar branches, criar novos branches, mesclar, trocar base, cherry-pick e muito mais. Ao clicar no branch, é possível ter uma pré-visualização do histórico de confirmação no painel direito.

Confirmações de entrada e saída no Visual Studio 2019

Quando você efetua fetch em um branch, a janela Alterações do Git tem um indicador na lista suspensa do branch, que exibe o número de confirmações sem pull do branch remoto. Esse indicador também mostra o número de confirmações locais sem push efetuado.

The Git Changes window that shows the indicator drop-down UI element in Visual Studio

O indicador também funciona como um link para levá-lo ao histórico de confirmação desse branch na janela Repositório do Git. A parte superior do histórico agora exibe os detalhes dessas confirmações enviadas e recebidas. A partir daqui, você também pode decidir efetuar pull ou push das confirmações.

The Git Repository window that shows the commit history of a branch in Visual Studio

Confirmar detalhes no Visual Studio 2019

Quando você clica duas vezes em uma Confirmação, o Visual Studio abre seus detalhes em uma janela de ferramentas separada. A partir daqui, você pode reverter a confirmação, redefinir a confirmação, alterar a mensagem de confirmação ou criar uma tag na confirmação. Quando você clica em um arquivo alterado na confirmação, o Visual Studio abre a exibição Comparação lado a lado da confirmação e seu pai.

The Commit Details dialog box in Visual Studio

Como identificar conflitos de mesclagem no Visual Studio 2019

Conflitos podem ocorrer durante uma mesclagem se dois desenvolvedores modificarem as mesmas linhas em um arquivo e o Git não souber automaticamente o correto. O Git interrompe a mesclagem e informa que está em um estado de conflito.

O Visual Studio facilita a identificação e a resolução de um conflito de mesclagem. Primeiro, a janela Repositório Git mostra uma barra de informações gold na parte superior da janela.

The 'Merge completed with conflicts' message in Visual Studio

A janela Alterações do Git também exibe uma mensagem "Mesclagem está em andamento com conflitos", com os arquivos não mesclados em sua seção separada abaixo dela.

The 'Merge in progress with conflicts' message in Visual Studio

Mas se nenhuma dessas janelas estiver aberta e, em vez disso, acessar o arquivo que tem conflitos de mesclagem, não é preciso pesquisar o seguinte texto:

    <<<<<<< HEAD
    =======
    >>>>>>> main

Em vez disso, o Visual Studio exibe uma barra de informações gold na parte superior da página que indica que o arquivo aberto tem conflitos. Em seguida, clique no link para abrir o Editor de Mesclagem.

Screenshot of 'File contains merge conflicts' message in Visual Studio

O Editor de Mesclagem no Visual Studio 2019

O Editor de Mesclagem no Visual Studio é uma ferramenta de mesclagem de três formas que exibe as alterações de entrada, as alterações atuais e o resultado da mesclagem. Use a barra de ferramentas na parte superior do Editor de Mesclagem para navegar entre as diferenças mescladas automaticamente e conflitos no arquivo.

The Merge Editor in Visual Studio

Também é possível usar as alternâncias para mostrar/ocultar diferenças, mostrar/ocultar diferenças de palavras e personalizar o layout. Há caixas de seleção na parte superior de cada lado que você pode usar para fazer todas as alterações de um lado ou de outro. Mas para fazer alterações individuais, é preciso clicar nas caixas de seleção à esquerda das linhas conflitantes em ambos os lados. Por fim, quando terminar de resolver os conflitos, você poderá selecionar o botão Aceitar mesclagem no Editor de Mesclagem. Em seguida, escreva uma mensagem de confirmação e confirme as alterações para concluir a resolução.

Personalizar suas configurações do Git no Visual Studio 2019

Para personalizar suas configurações do Git em um nível de repositório, bem como em um nível global, vá em Git> Configurações na barra de menu ou Ferramentas>Opções>Controle do Código-Fonte na barra de menu. Depois, escolha as opções desejadas.

The Options dialog box where you can choose personalization and customization settings in Visual Studio IDE.

Como usar a experiência completa do Team Explorer no Visual Studio 2019

A nova experiência do Git é o sistema de controle de versão padrão no Visual Studio 2019 da versão 16.8 e posteriores. No entanto, é possível desativar o sistema, se desejado. Acesse Ferramentas>Opções>Ambiente>Versão prévia do recurso e, em seguida, alterne a caixa de seleção Nova experiência do usuário do Git, que volta para o Team Explorer para o Git.

The Preview Features section of the Options dialog box in Visual Studio