Serviços do Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022
Visual Studio 2019 | Visual Studio 2022
O Git usa metadados de commit como links pai, detalhes do autor e carimbos de data/hora para acompanhar o histórico de alterações em um repositório. Você pode examinar o histórico do Git para descobrir quando os arquivos foram alterados, quem os alterou e quais alterações foram feitas.
Quando as pessoas criam e mesclam ramificações de funcionalidades em uma ramificação de destino usando pull requests, o histórico de desenvolvimento da ramificação de destino talvez não seja uma linha cronológica direta. Portanto, ao examinar o histórico de alterações em um arquivo no branch de destino, tenha em mente que a ordem das confirmações é influenciada pela estratégia de mesclagem e pela data de mesclagem, não apenas pela data original das alterações. Por exemplo, o commit mais recente na ramificação main pode introduzir uma alteração que foi feita semanas atrás em uma ramificação de recurso que acabou de ser mesclado na ramificação main usando uma mesclagem three-way.
Para saber como usar o Visual Studio 2022 com o Git, confira como o Visual Studio facilita o controle de versão com o Git.
Pré-requisitos
| Categoria |
Requirements |
| Acesso ao projeto |
Membro de um projeto. |
| Permissões |
- Exibir código em projetos privados: pelo menos acesso básico . - Clonar ou contribuir para o código em projetos privados: membro do grupo de segurança Colaboradores ou permissões correspondentes no projeto. - Definir permissões de branch ou repositório: gerenciar permissões para o branch ou repositório. - Defina políticas de ramificação, verificações de status ou altere a ramificação padrão: permissão Editar políticas para o repositório ou a ramificação, ou associação ao grupo de segurança Administradores do Projeto. - Importar um repositório: membro do grupo de segurança Administradores do Projeto ou da permissão Criar repositório no nível do projeto do Git definida como Permitir. Para obter mais informações, consulte Definir permissões do Repositório do Git. |
| Serviços |
Repositórios habilitados. |
| Tools |
Optional. Use os comandos az repos: CLI do Azure DevOps. |
| Categoria |
Requirements |
| Acesso ao projeto |
Membro de um projeto. |
| Permissões |
- Visualizar código: pelo menos acesso básico. - Clonar ou contribuir com o código: membro do grupo de segurança Colaboradores ou permissões correspondentes no projeto. |
| Serviços |
Repositórios habilitados. |
Comparar versões de arquivo
Quando você quiser descobrir como e quando ocorreu uma alteração de arquivo específica, talvez seja necessário comparar diferentes versões do mesmo arquivo de confirmações diferentes, possivelmente em branches diferentes.
O site de projeto da equipe do Azure DevOps permite comparar duas versões do mesmo arquivo de confirmações no mesmo branch, mas não dá suporte à comparação de versões de arquivo entre branches.
No navegador da Web, abra o projeto de equipe para sua organização do Azure DevOps. Na exibição Arquivos de> Repositório, selecione um arquivo e escolha a guia Comparar.
Na guia Comparar , escolha as duas confirmações que contêm as versões de arquivo que você deseja comparar. A exibição diff mostra todas as linhas de arquivo novas, excluídas ou modificadas.
Observação
O GitHub permite comparar duas versões do mesmo arquivo de confirmações diferentes em diferentes branches. Para comparar, acrescente /compare/<commit1>..<commit2> à URL do repositório GitHub para navegar até a página de comparação. A página de comparação contém uma visão 'diff' de cada arquivo que possui diferenças. Para obter mais informações sobre a comparação de confirmação no GitHub, consulte Comparando confirmações.
O Visual Studio 2022 fornece uma experiência de controle de versão do Git usando o menu Git , as Alterações do Git e os menus de contexto no Gerenciador de Soluções. O Visual Studio 2019 versão 16.8 também oferece a interface do usuário do Team Explorer do Git. Para obter mais informações, consulte a guia Visual Studio 2019 – Team Explorer .
O Visual Studio permite comparar duas versões do mesmo arquivo no mesmo branch, mas não dá suporte à comparação de versões de arquivo entre branches.
No Gerenciador de Soluções, selecione um arquivo e escolha o Histórico de Exibição do Git > no menu de contexto do arquivo para abrir a guia Histórico do Git para o arquivo selecionado.
Na guia Histórico do Git , escolha Comparar com Anterior no menu de contexto de uma confirmação para abrir uma guia Diff que compara a confirmação selecionada com a confirmação anterior.
Ou selecione duas confirmações e escolha Comparar no menu de contexto da confirmação para abrir uma guia Diff que compara as duas confirmações selecionadas.
A aba Diff mostra linhas de arquivo novas, excluídas ou modificadas.
O Team Explorer não fornece suporte para esse recurso.
O comando git diff pode comparar diferentes versões do mesmo arquivo a partir de commits distintos em vários branches. O comando git log pode ajudá-lo a identificar os commits que contêm as versões de arquivo que você deseja comparar.
Use git log e especifique um arquivo para listar as confirmações que alteraram o arquivo:
git log <file>
Por padrão, a saída do comando começa com o commit mais recente na ramificação atual e itera para trás por meio de commits ancestrais (independente da ramificação) seguindo os links pai nos metadados de cada commit.
Aqui está um exemplo de saída para o comando git log index.html:
commit bbc3b679197b659544a6f8070c79fb535b496613
Date: Thu Jun 30 13:42:50 2021 -0400
update landing page
commit e5402fe710c25eca1b96a4e238eee9c01ed41c6a
Date: Thu Jun 30 13:42:23 2021 -0400
initial commit
Use git diff e especifique um arquivo e duas confirmações para ver como as versões de arquivo confirmadas diferem:
git diff <commit1> <commit2> <file>
Aqui está um exemplo de saída para o comando git diff bbc3b67 e5402fe index.html:
- <link rel="stylesheet" href="app.cs"/>
+ <link rel="stylesheet" href="fabrikam.cs"/>
A saída mostra que uma linha foi excluída e uma linha foi adicionada.
Limitar a saída de log do Git
Para limitar] as confirmações que git log listam, você pode filtrar por autor, data, mensagem, conteúdo alterado e muito mais. Por exemplo:
git log --author=frank@fabrikam.com index.html lista apenas commits pelo autor especificado.
git log --since="2022-5-1" lista apenas confirmações criadas após a data especificada.
git log --before="yesterday" lista apenas confirmações criadas antes da data relativa especificada.
git log --grep="css change" lista apenas commits com o texto especificado em sua mensagem.
git log -S"myVariable" lista apenas confirmações que introduzem ou removem a cadeia de caracteres especificada.
git log -G"myVar.*" lista apenas confirmações que introduzem ou removem a cadeia de caracteres regex especificada.
git log -3 lista apenas os três últimos commits.
Você tem várias opções de formatação para a lista de commits. Por exemplo:
git log --abbrev-commit lista confirmações usando uma ID abreviada (soma de verificação SHA-1).
git log --oneline lista cada commit em um formato abreviado de linha única.
git log --patch index.html lista cada commit junto com uma comparação das alterações.
Restaurar arquivos
Você pode restaurar uma versão específica de um arquivo do histórico do Git, mesmo que o arquivo tenha sido editado, excluído ou renomeado em uma confirmação posterior. Restaurar uma versão mais antiga de um arquivo não cria uma nova confirmação com a alteração. Para atualizar sua ramificação com a versão de arquivo restaurada, você precisará confirmar a alteração.
O site do projeto da equipe do Azure DevOps permite reverter todas as alterações feitas por um commit específico, mas não oferece suporte à reversão de alterações em um arquivo específico dentro do commit.
O Visual Studio permite comparar duas versões do mesmo arquivo no mesmo branch, mas não dá suporte à comparação de versões de arquivo entre branches.
No Gerenciador de Soluções, selecione um arquivo e escolha o Histórico de Exibição do Git > no menu de contexto do arquivo para abrir a guia Histórico do Git para o arquivo selecionado.
Na guia Histórico do Git , escolha Comparar com Anterior no menu de contexto de uma confirmação para abrir uma guia Diff que compara a confirmação selecionada com a confirmação anterior.
Ou selecione duas confirmações e escolha Comparar no menu de contexto da confirmação para abrir uma guia Diff que compara as duas confirmações selecionadas.
A aba Diff mostra linhas de arquivo novas, excluídas ou modificadas.
O Visual Studio 2019 versão 16.8 e versões posteriores fornece uma experiência de controle de versão do Git, mantendo a interface do usuário do Team Explorer Git. Para usar o Team Explorer, desmarque Ferramentas>Opções>Recursos de Visualização>Nova experiência de usuário do Git na barra de menus.
No Gerenciador de Soluções, selecione um arquivo e escolha Git > Ver Histórico no menu de contexto do arquivo para abrir uma guia Histórico do Git para o arquivo selecionado.
Na guia Histórico do Git, selecione um commit e escolha Exibir Detalhes do Commit no menu de contexto do commit para abrir a visualização Detalhes do Commit.
No modo de exibição Confirmar Detalhes , selecione o arquivo e escolha Abrir no menu de contexto do arquivo para abrir a versão anterior do arquivo em uma nova guia.
Escolha Salvar Arquivo > como na barra de menus para salvar a versão restaurada do arquivo.
Você pode usar os comandos git checkout ou git show para restaurar uma versão específica de um arquivo do histórico do Git.
O git checkout reverterá um arquivo para uma versão confirmada anteriormente se você especificar o arquivo e uma confirmação:
git checkout <commit> <file>
Por exemplo, git checkout 85435fac src/app.ts reverterá o arquivo src/app.ts para sua versão no commit 85435fac.
O git show imprime o conteúdo de uma versão de arquivo confirmada anteriormente, que você pode redirecionar para um arquivo de saída:
git show <commit>:<file> > <output file>
Por exemplo, git show 85435fac:src/app.ts > /archive/oldapp.ts escreverá o conteúdo de app.ts no commit 85435fac para /archive/oldapp.ts.
Comparar ramificações
Você pode comparar ramificações locais ou remotos para examinar as alterações resultantes de uma mesclagem ou troca de base. A comparação de ramificações permite que você verifique conflitos de mesclagem e veja como as alterações feitas por outras pessoas podem afetar seu trabalho.
O Visual Studio 2019 e versões anteriores não dão suporte à comparação de branch, portanto, se você estiver usando uma dessas versões, poderá comparar branches na linha de comando git ou usando seu navegador da Web se o repositório estiver hospedado no Azure Repos ou no GitHub. O Visual Studio 2022 dá suporte à comparação de branch, conforme descrito em Comparar branches.
No navegador da Web, abra o projeto de equipe para sua organização do Azure DevOps. No modo de exibição Repositórios > Ramificações, selecione as reticências de qualquer ramificação e escolha Comparar ramificações para exibir a tela Comparação de ramificações.
No modo de exibição Comparar ramificações, escolha as duas ramificações que você deseja comparar. Selecione a guia Arquivos para obter uma exibição dif das linhas novas, excluídas ou modificadas em cada arquivo alterado.
Para comparar commits específicos em vez de pontas de branch, selecione o seletor de versão e escolha a aba Commits Pesquise e selecione um commit pelo seu SHA para realizar comparações de commit para commit ou de branch para commit diretamente na interface do usuário, sem precisar construir uma URL manualmente.
Observação
O GitHub possibilita a comparação de ramificações. Para comparar duas ramificações, acrescente /compare/<branch1>...<branch2> à URL do repositório GitHub para navegar até a página de comparação. A página de comparação contém uma visão 'diff' de cada arquivo que possui diferenças. Para obter mais informações sobre a comparação de ramificações no GitHub, consulte Comparando branches.
Para comparar um branch com o branch atual, clique com o botão direito do mouse em uma ramificação no painel Branches do repositório e selecione a opção comparar. O menu de contexto especifica os nomes das ramificações atuais e de destino:
O Visual Studio 2019 não dá suporte à comparação de branch. No entanto, você pode comparar branches na linha de comando do Git ou usando seu navegador da Web se o repositório estiver hospedado no Azure Repos ou no GitHub.
Dica
Você pode acessar o portal da Web na exibição Página Inicial do Team Explorer escolhendo o Portal da Web.
Para comparar duas ramificações locais ou remotas, você pode usar o comando Git diff especificando os nomes das ramificações:
git diff <branch1> <branch2>
O Git compara o commit na ponta de uma ramificação com o commit na ponta da outra. A saída diff mostrará as exclusões e adições entre cada arquivo nas duas ramificações.
Aqui está um exemplo de saída para o comando git diff users/frank/feature origin/main, que compara um branch local com um branch remoto:
index 36843b8..03afc4b 100644
--- a/tsapp/index.html
+++ b/tsapp/index.html
@@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
- <link rel="stylesheet" href="fabrikam-test.css" type="text/css" />
+ <link rel="stylesheet" href="fabrikam.css" type="text/css" />
<script src="app.js"></script>
</head>
...
--- a/tsapp/app.ts
+++ b/tsapp/app.ts
constructor(element: HTMLElement) {
this.element = element;
- this.element.innerHTML += "The time is: ";
+ this.element.innerHTML += "The time is now: ";
this.span = document.createElement('span');
this.element.appendChild(this.span);
this.span.innerText = new Date().toUTCString();
Para restringir a comparação com um arquivo específico, especifique o arquivo no diff comando:
git diff <branch1> <branch2> <file>
Por exemplo, git diff users/frank/feature origin/main index.html só gerará um diff para o arquivo index.html.
Próximas etapas
Artigos relacionados