Como mostrar o que um commit fez?


265

Uma maneira estúpida que eu sei é:

git diff commit-number1 commit-number2

alguma maneira melhor?

Quero dizer, quero conhecer o commit1 em si, não quero adicionar o commit2 antes dele como parâmetro.


14
Enquanto "git show <commit>" é a solução correta, você pode usar "git diff <commit> ^!" para obter diferenças entre o commit e seu (primeiro) pai. Veja man git-rev-parse (1) para detalhes.
Jakub Narębski

Adereços para @Jakub: git diff <commit>^!é a resposta, IMHO. É o que você vê na exibição de confirmação no github.com
Chris

Respostas:




51

TL; DR

git show <commit>


mostrar

Para mostrar o que um commit fez com as estatísticas:

git show <commit> --stat

Registro

Para mostrar o log de confirmação com as diferenças introduzidas para cada confirmação em um intervalo:

git log -p <commit1> <commit2>

O que é <commit>?

Cada confirmação tem um ID exclusivo que referenciamos aqui como <commit>. O ID exclusivo é um hash SHA-1 - uma soma de verificação do conteúdo que você está armazenando e um cabeçalho. #TMI

Se você não conhece o seu <commit>:

  1. git logpara visualizar o histórico de confirmação

  2. Encontre a confirmação com a qual você se preocupa.


22

Descobri que "git show --stat" é o melhor de todos aqui, fornece um breve resumo do commit, quais arquivos você adicionou e modificou sem fornecer muitas coisas, especialmente se você alterou muitos arquivos .


6

Esta é uma maneira que eu conheço. Com git, sempre parece haver mais de uma maneira de fazer isso.

git log -p commit1 commit2
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.