Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
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 recursos em uma ramificação de destino usando solicitações de pull, o histórico de desenvolvimento da ramificação de destino pode não ser uma linha cronológica reta. Portanto, ao examinar o histórico de alterações em um arquivo na ramificação de destino, tenha em mente que a ordem dos commits é 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.
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 commits diferentes, possivelmente em ramificações diferentes.
O site do projeto de equipe do Azure DevOps permite comparar duas versões do mesmo arquivo de commits na mesma ramificação, mas não dá suporte à comparação de versões de arquivo entre ramificações.
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 os dois commits 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 commits diferentes em ramificações diferentes. 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 exibição diff de cada arquivo diferente. Para obter mais informações sobre a comparação de commits no GitHub, consulte Comparando commits.
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 através dos 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 Git do Team Explorer. Para saber mais, consulte a guia Visual Studio 2019 - Team Explorer.
O Visual Studio permite comparar duas versões do mesmo arquivo na mesma ramificação, mas não dá suporte à comparação de versões de arquivo entre ramificações.
No Gerenciador de Soluções, selecione um arquivo e escolha Git > Visualizar Histórico 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 um commit para abrir uma guia Diff que compara o commit selecionado com o commit anterior.
Ou selecione dois commits e escolha Comparar no menu de contexto do commit para abrir uma guia Diff que compara os dois commits selecionados.
A guia Diff mostra linhas de arquivo novas, excluídas ou modificadas.
O Visual Studio 2019 fornece uma experiência de controle de versão do Git usando o menu Git, as Alterações do Git e através dos menus de contexto no Gerenciador de Soluções.
O Visual Studio permite comparar duas versões do mesmo arquivo na mesma ramificação, mas não dá suporte à comparação de versões de arquivo entre ramificações.
No Gerenciador de Soluções, selecione um arquivo e escolha Git > Visualizar Histórico 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 um commit para abrir uma guia Diff que compara o commit selecionado com o commit anterior.
Ou selecione dois commits e escolha Comparar no menu de contexto do commit para abrir uma guia Diff que compara os dois commits selecionados.
A guia Diff mostra linhas de arquivo novas, excluídas ou modificadas.
O Team Explorer não oferece suporte para este recurso.
O comando git diff pode comparar versões diferentes do mesmo arquivo de commits diferentes em diferentes ramificações. 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 os commits 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 (independentemente da ramificação) seguindo os links pai nos metadados de cada commit.
Aqui está um exemplo da saída do comando git log index.html:
A saída mostra que uma linha foi excluída e uma linha foi adicionada.
Limitar saída de log do Git
Para limitar] os commits que git log lista, 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 commits criados após a data especificada.
git log --before="yesterday" lista apenas commits criados 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 commits que introduzem ou removem a cadeia de caracteres especificada.
git log -G"myVar.*" lista apenas commits que introduzem ou removem a cadeia de caracteres regex especificada.
git log -3 lista apenas os últimos três commits.
Formatar a saída de log do Git
Você tem várias opções de formatação para a lista de commits. Por exemplo:
git log --abbrev-commit lista commits 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 um commit posterior. Restaurar uma versão mais antiga de um arquivo não cria um novo commit com a alteração. Para atualizar sua ramificação com a versão do arquivo restaurado, você precisará confirmar a alteração.
O site do projeto de equipe do Azure DevOps permite que você reverta todas as alterações feitas por um commit específico, mas não dá 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 na mesma ramificação, mas não dá suporte à comparação de versões de arquivo entre ramificações.
No Gerenciador de Soluções, selecione um arquivo e escolha Git > Visualizar Histórico 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 um commit para abrir uma guia Diff que compara o commit selecionado com o commit anterior.
Ou selecione dois commits e escolha Comparar no menu de contexto do commit para abrir uma guia Diff que compara os dois commits selecionados.
A guia Diff mostra linhas de arquivo novas, excluídas ou modificadas.
O Visual Studio permite comparar duas versões do mesmo arquivo na mesma ramificação, mas não dá suporte à comparação de versões de arquivo entre ramificações.
No Gerenciador de Soluções, selecione um arquivo e escolha Git > Visualizar Histórico 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 um commit para abrir uma guia Diff que compara o commit selecionado com o commit anterior.
Ou selecione dois commits e escolha Comparar no menu de contexto do commit para abrir uma guia Diff que compara os dois commits selecionados.
A guia Diff mostra linhas de arquivo novas, excluídas ou modificadas.
O Visual Studio 2019 versão 16.8 e versões posteriores fornecem uma experiência de controle de versão do Git, mantendo a interface do usuário Git doTeam Explorer. Para usar o Team Explorer, desmarque Ferramentas>Opções>Versão prévia do recurso>Nova experiência do usuário do Git na barra de menus.
No Gerenciador de Soluções, selecione um arquivo e escolha Git > Visualizar 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 o modo de exibição Detalhes do Commit.
Na exibição Detalhes do Commit, 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 Arquivo > Salvar 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 um commit:
git checkout <commit> <file>
Por exemplo, git checkout 85435fac src/app.ts irá 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 gravará o conteúdo de app.ts em commit 85435fac para /archive/oldapp.ts.
Você pode comparar ramificações locais ou remotas 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 ramificação, portanto, se você estiver usando uma dessas versões, poderá comparar ramificações na linha de comando do 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 ramificação, conforme descrito em Comparar ramificações.
No navegador da Web, abra o projeto de equipe para sua organização do Azure DevOps. Na exibição Ramificações > do Repositório, selecione as reticências de qualquer ramificação e escolha Comparar ramificações para abrir o modo de exibição Comparação de ramificação.
No modo de exibição Comparação de ramificação, escolha as duas ramificações que você deseja comparar. Selecione a guia Arquivos para obter uma exibição diff das linhas novas, excluídas ou modificadas em cada arquivo alterado.
Observação
O GitHub dá suporte à 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 exibição diff de cada arquivo diferente. Para obter mais informações sobre a comparação de ramificações no GitHub, consulte Comparando ramificações.
Para comparar uma ramificação com a ramificação atual, clique com o botão direito do mouse em uma ramificação no painel Ramificações 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 ramificações. No entanto, você pode comparar ramificações 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 no modo de exibição Team Explorer Página Inicial escolhendo Portal da Web.
O Visual Studio 2019 não dá suporte à comparação de ramificações. No entanto, você pode comparar ramificações 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 no modo de exibição Team Explorer Página Inicial escolhendo 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 uma ramificação local com uma ramificação remota:
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 comando diff:
git diff <branch1> <branch2> <file>
Por exemplo, git diff users/frank/feature origin/main index.html gerará apenas uma comparação para o arquivo index.html.