Azure DevOps Services | Azure DevOps Server | 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 branches de recursos em um branch de destino usando solicitações de pull, o histórico de desenvolvimento do branch de destino pode não ser uma linha cronológica reta. 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, a confirmação mais recente no main branch pode introduzir uma alteração feita semanas atrás em um branch de recursos que foi mesclado apenas 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 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 de permissões para o branch ou repositório. - Alterar o branch padrão: editar permissões de políticas 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. |
|
Ferramentas |
Optional. Use comandos az repos : 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 |
- Exibir 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 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 exibição dif de cada arquivo diferente. 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 Git do Team Explorer . 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 guia Diferida 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 versões diferentes do mesmo arquivo de confirmações diferentes em diferentes branches. O comando de log git pode ajudá-lo a identificar as confirmações 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 confirmação em um formato abreviado de linha única.
git log --patch index.html lista cada confirmação junto com uma diferença 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 de projeto da equipe do Azure DevOps permite reverter todas as alterações feitas por uma confirmação específica, mas não dá suporte à reversão de alterações em um arquivo específico dentro da confirmação.
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 guia Diferida 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 do Git do Team Explorer . Para usar o Team Explorer, desmarque aexperiência do novo usuário do Git dos recursos > devisualizaçãode> de > na barra de menus.
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 uma guia Histórico do Git para o arquivo selecionado.
Na guia Histórico do Git , selecione uma confirmação e escolha Exibir Detalhes de Confirmação no menu de contexto da confirmação para abrir o modo de exibição Confirmar Detalhes .
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 src/app.ts arquivo para sua versão na confirmação 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 em confirmação 85435fac/archive/oldapp.tsem .
Comparar branches
Você pode comparar branches locais ou remotos para examinar 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 Branches compare.
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.
No modo de comparação 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 dá suporte à comparação de branch. 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 dif de cada arquivo diferente. 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 dos branches 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 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 de diferenciação mostrará as exclusões e adições entre cada arquivo nos dois branches.
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á uma diferença para o index.html arquivo.
Próximas etapas
Artigos relacionados