Azure DevOps Services | Servidor Azure DevOps | Azure DevOps Server 2022
Visual Studio 2019 | Visual Studio 2022
O Git usa metadados de confirmação , 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 no main branch pode introduzir uma alteração feita semanas atrás em um branch de feature que foi recentemente mesclado no main branch usando uma mesclagem de três vias.
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 com 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 são as permissões para o branch ou repositório. - Alterar o branch padrão: As políticas de edição são permissões para o repositório. - 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 az repos os comandos: CLI do Azure DevOps. |
Observação
Em projetos públicos, os usuários com acesso ao Stakeholder têm acesso total ao Azure Repos, incluindo exibição, clonagem e contribuição para o código.
| 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 visão Arquivos de Repositório>, selecione um arquivo e clique na 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 de diferenciação 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 a confirmação mais recente no branch atual e, em seguida, itera para trás por meio de confirmações ancestrais (independentemente do branch) seguindo os links pai nos metadados de cada confirmação.
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 confirmações 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 confirmações 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 as três últimas confirmações.
Você tem várias opções de formato para a lista de confirmação. 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 um diff 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 qualquer branch local ou remoto para revisar as alterações resultantes de uma mesclagem ou rebase. A comparação de ramificação permite verificar se há conflitos de mesclagem e ver 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 Branches do Repos>, selecione as reticências de qualquer branch e escolha Comparar branches para abrir o modo de comparação branch.
Na visualização Comparar branch, escolha os dois branches 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.
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 do branch atual e do branch 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 dois branches locais ou remotos, você pode usar o comando Git diff especificando os nomes de branch:
git diff <branch1> <branch2>
O Git compara a confirmação na ponta de um branch com a confirmação na ponta da outra. A saída do diff mostrará as remoçõ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