Compartilhar via


Procurar repositórios Git e comparar branches no Visual Studio

A janela Alterações do Git fornece uma maneira perfeita de interagir com o Git durante a codificação sem precisar se afastar do código. Mas 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 tem trabalhado ou talvez comparar dois commits para investigar um bug.

Você pode trabalhar remotamente com o provedor Git de sua escolha, como o GitHub ou o Azure DevOps.

Navegar entre ramificações locais e remotas

Para começar, abra a janela repositório Git selecionando o Repositório Git no menu Exibir (ou usando o atalho de teclado Ctrl+0, Ctrl+R ). Você também pode acessar a janela repositório Git selecionando os links de saída/entrada na janela Alterações do Git e na barra de status.

Captura de tela que mostra a anatomia da janela do Repositório Git.

A janela repositório Git contém três seções principais, conforme numerado na captura de tela anterior:

  1. Branches/Marcas: o Git capacita os usuários a fazer várias tarefas e experimentar seu código por meio de branches. A ramificação no Git é útil em vários cenários, especialmente ao trabalhar em projetos complexos com vários recursos ou ao colaborar com uma equipe. Com o Visual Studio 17.13 e versões posteriores, você pode ver tags no repositório e navegar até qualquer tag. Sua equipe pode usar marcas git (por exemplo), v1.0para marcar pontos no histórico do repositório e exibir o estado do repositório nesse ponto do histórico. Consulte Git – Marcação.

    Captura de tela que mostra marcas git na janela repositório Git.

  2. Graph: Esta seção visualiza o estado do seu ramo. Ele tem três subseções:

    • Entrada mostra commits recebidos aos quais sua equipe contribuiu.
    • Saída mostra seus commits locais que ainda não foram enviados.
    • O Histórico Local mostra o restante das alterações rastreadas pelo repositório local.
  3. Confirmar: para abrir esta seção, selecione qualquer confirmação na seção Graph . Você pode verificar as alterações que um commit introduziu selecionando-as, o que mostra uma comparação. Por exemplo, a captura de tela anterior mostra as alterações que um commit introduziu no arquivo Resize.cs.

Alt+seta para cima ou Alt+seta para baixo permitem pular entre essas seções.

Você pode navegar por qualquer ramo local ou remoto sem precisar mudar de ramo. Quando encontrar uma confirmação na qual deseja se concentrar, selecione o botão Abrir em Nova Guia para abrir a confirmação em uma guia diferente.

Captura de tela mostrando como abrir um commit em uma nova guia.

Captura de tela da guia de detalhes do commit.

Dica

Para exibir sua confirmação em tela inteira, desanexe a guia Confirmar e maximize a janela Confirmar usando o botão Maximizar . Você também pode selecionar sua configuração de diferenciação favorita selecionando Configuração de Difusão (o ícone de engrenagem).

Captura de tela dos detalhes do commit em tela cheia com configurações de comparação.

Exibição de histórico de várias ramificações

Novidade na versão 17.7: ao abrir a janela do repositório Git, você começará na exibição de branch única. Em seguida, você pode selecionar qualquer branch para adicionar tanto o branch quanto seus commits a uma exibição de histórico de várias ramificações, que adiciona indicações visuais que facilitam a interação com múltiplos branches.

Captura de tela da visualização do histórico de várias ramificações no Visual Studio.

Há linhas coloridas e rótulos de branch no lado esquerdo do modo de exibição Histórico Local que ajudam a facilitar o rastreamento de quais commits pertencem a cada branch. Você pode usar a lista de branches na parte superior da tabela para rolar entre as branches com mais facilidade e saber imediatamente quais branches aparecem no gráfico.

Na seção Branches/Tags, passe o mouse sobre um branch para mostrar o botão Alternar Ramificação no Histórico (o ícone se parece com um olho). Usando o botão de passar o mouse, você pode selecionar quais branches mostrar na visualização do histórico de commits.

Você pode usar os botões da barra de ferramentas na parte superior da visualização do histórico de commits para personalizar a exibição e filtrar as ramificações.

  • Mostrar somente o primeiro pai: limite o histórico para mostrar apenas o histórico de confirmação como uma única linha, em vez de ramificações laterais com sua própria sequência de confirmações.

  • Mostrar Branches Locais: alterne se deseja ou não mostrar rótulos para o branch local no modo de exibição de histórico.

  • Mostrar Branches Remotos: alterne se deseja ou não mostrar rótulos para branches remotos que contribuem para o histórico de confirmação que você está exibindo.

  • Mostrar Marcas: alterne se deseja ou não mostrar rótulos para marcas.

    Mostrar Branches Locais, Mostrar Branches Remotos e Mostrar Tags referem-se a todos os indicadores de rótulo nos commits mostrados no lado esquerdo da exibição do histórico.

    Captura de tela mostrando rótulos de indicador para branches e tags na visualização do histórico.

Novidade na versão 17.14: Para se concentrar em confirmações não sincronizadas, você pode usar o botão da barra de ferramentas Mostrar Apenas Saída/Entrada para alterar a exibição do histórico para mostrar somente confirmações de saída (ainda não enviadas do seu branch atual) e confirmações de entrada (novas no repositório remoto).

Captura de tela mostrando a janela do Repositório Git com o botão Mostrar Somente Saída/Entrada da barra de ferramentas.

Você também pode selecionar Mostrar Saída/Entrada Somente no menu de contexto clicando com o botão direito do mouse em qualquer lugar no modo de exibição de histórico.

Comparar commits

Para comparar dois commits na sua branch, use a tecla CTRL para selecionar os dois commits que você deseja comparar. Em seguida, clique com o botão direito do mouse em um deles e selecione Comparar Confirmações.

Captura de tela de como comparar dois commits.

Captura de tela de commits comparados.

Dica

Semelhante aos Detalhes de Confirmação, você pode usar o botão Abrir em Nova Guia para abrir a comparação em uma guia diferente ou maximizá-la na tela.

Criar uma branch a partir de um commit

No Visual Studio, você pode usar o painel Git Graph na janela Git Repository para criar branches a partir de compromissos anteriores. Para fazer isso, clique com o botão direito do mouse no commit do qual você deseja criar uma branch e selecione Nova Branch.

Captura de tela do painel Git Graph da janela do repositório Git.

Observação

O comando equivalente para essa ação é git branch <branchname> [<commit-id>].

Comparar branches

Comparar ramificações fornece uma visão geral das diferenças entre duas ramificações, o que pode ser útil antes de criar um pull request, realizar uma mesclagem ou até mesmo excluir uma ramificação.

Diagrama que ilustra como o Git compara branches.

Para comparar sua branch atualmente em check-out com outras branches usando o Visual Studio, você pode usar o seletor de branch hospedado na barra de status e a janela de ferramentas Alterações do Git para escolher qualquer branch local ou remota para comparar. Clique com o botão direito do mouse no branch que você está direcionando e selecione Comparar com o Branch Atual. Como alternativa, você pode utilizar a lista de ramificações na janela do Repositório Git para acessar o mesmo comando.

Animação mostrando os pontos de entrada para comparação de branches.

Selecionar Comparar com o Branch Atual abre a experiência de comparação de branches em que você pode navegar na lista Alterações e escolher o arquivo que deseja comparar.

Captura de tela mostrando como comparar branches usando a exibição de comparação.

Dica

Se preferir uma comparação embutida, você pode usar o ícone de engrenagem Opções de Configuração de Comparação e alternar para uma exibição de comparação embutida. Captura de tela mostrando as Opções de Configuração de Comparação disponíveis.

Fazer check-out de commits

Fazer check-out de um commit pode ser benéfico de várias maneiras. Por exemplo, ele permite que você volte para um ponto anterior no histórico do repositório em que você pode executar ou testar seu código. Também pode ser útil se você quiser revisar o código de uma branch remota (a branch de um colega, por exemplo). Dessa forma, você não precisará criar uma ramificação local se não estiver planejando contribuir com ela. Nesse caso, basta fazer check-out da dica da branch remota que você deseja revisar.

Diagrama que ilustra o processo de check-out de commit do Git.

Para fazer check-out de uma confirmação anterior no Visual Studio, abra a janela repositório Git , clique com o botão direito do mouse na confirmação para a qual você deseja voltar e selecione check-out (–desanexar). O Visual Studio mostra um diálogo de confirmação explicando que, ao fazer check-out de um commit, você estará em um estado de HEAD destacado. Isso significa que o HEAD do seu repositório vai apontar diretamente para um commit em vez de para uma branch.

Animação mostrando os pontos de entrada do commit de check-out.

Agora que você está em um estado de cabeçalho desanexado, fique à vontade para executar e testar seu código ou até mesmo explorar e confirmar alterações. Quando terminar de explorar e quiser voltar à sua branch, você poderá escolher descartar suas alterações fazendo check-out de uma branch existente ou escolher manter suas alterações criando uma branch primeiro.

Importante

Os commits criados em um estado de cabeçalho destacado não estão associados a nenhuma branch e podem ser coletados como lixo pelo Git após você fazer check-out de uma branch. Por isso, para manter suas alterações, é recomendável criar uma nova branch antes de fazer check-out de uma branch. Por exemplo, os commits C5 e C6 serão coletados como lixo se fizermos check-out do Main sem criar uma nova branch. Diagrama que ilustra os commits de cabeçalho destacado no Git.

Para saber mais sobre o estado de cabeçalho desanexado, confira a documentação Detached Head do Git.

Fazer check-out da dica de uma branch remota pode ser útil se você quiser revisar rapidamente uma pull request e avaliar as atualizações mais recentes. Para fazer isso no Visual Studio, primeiro certifique-se de buscar e obter as atualizações mais recentes do repositório remoto. Clique com o botão direito do mouse na branch remota que você deseja revisar e selecione Checkout Tip Commit.

Captura de tela que mostra a opção Checkout Tip Commit.