Navegando pelo histórico
Como mencionei antes, o comando git log é sua principal ferramenta para explorar o histórico de commits. Vamos executá-lo de novo para ver o que ele faz.
Execute o comando git log para ver o histórico de commits.
Dica: alguns comandos do Git, como git log, podem colocar seu terminal no modo pager, feito para navegar por listas longas. Nesse modo, você pode rolar a saída usando as setas e do teclado. Para sair do modo pager, pressione q.
Ótimo! Você deve ter visto uma lista parecida com esta. Seus hashes de commit, datas, nome e e-mail serão diferentes:
commit 11a3f60fe6520fb6f83306d94765ac54f8964be0
Author: Your Name <you@example.com>
Date: 2024-03-15
Linked styles to hello.html
commit 7d5aa020c9b3cf2cb5a21575a33396f36e783cd4
Author: Your Name <you@example.com>
Date: 2024-03-15
Added CSS styles
commit 346ca091076783c70623aba03fb7139d3d27134f
Author: Your Name <you@example.com>
Date: 2024-03-15
Added H1, HTML, and BODY tags to hello.html
commit 571a4dd16430d5cc89cd2d509bdfbf097d3db63a
Author: Your Name <you@example.com>
Date: 2024-03-15
Initial commitO problema da saída padrão do git log é que ela é bem verbosa. Cada commit ocupa várias linhas, o que pode ficar cansativo quando o histórico é longo. Felizmente, o git log tem muitas opções para personalizar a saída.
Uma das opções mais úteis é a --oneline, que condensa cada commit em uma única linha. Vamos testar.
git log --onelineExecute git log --oneline para ver um histórico de commits mais compacto.
Você deve ter visto uma saída bem mais concisa:
11a3f60 Linked styles to hello.html
7d5aa02 Added CSS styles
346ca09 Added H1, HTML, and BODY tags to hello.html
571a4dd Initial commitBem melhor, né? Com a --oneline, você pode percorrer o histórico rapidamente e encontrar o commit que procura.
O comando git log tem muitas outras opções úteis. Aqui vão alguns exemplos. Se você testar o exemplo com --author, substitua Your Name pelo nome que você configurou no Git:
git log --oneline --max-count=2git log --oneline --since="5 minutes ago"git log --oneline --until="5 minutes ago"git log --oneline --author="Your Name"git log --oneline --all
Teste algumas dessas variações do git log e observe as diferenças na saída.
Como você pode ver, o git log é uma ferramenta poderosa para filtrar e formatar o histórico de commits. Você pode combinar várias opções para criar consultas ainda mais específicas.
Por exemplo, vamos testar um comando git log mais avançado:
git log --format="%h %ad | %s%d [%an]" --date=shortExecute o comando git log acima e tente decifrar a saída.
O resultado deve ficar assim. De novo, seus hashes, datas e nome de autor serão diferentes:
11a3f60 2024-03-15 | Linked styles to hello.html (HEAD -> main) [Your Name]
7d5aa02 2024-03-15 | Added CSS styles [Your Name]
346ca09 2024-03-15 | Added H1, HTML, and BODY tags to hello.html (tag: 1.0) [Your Name]
571a4dd 2024-03-15 | Initial commit [Your Name]
Veja o que cada parte desse comando faz:
--format="..."define o formato da saída.%hé o hash abreviado do commit.%adé a data do commit.|é só um separador visual.%sé a mensagem do commit.%drepresenta as decorações do commit (por exemplo, pontas de branches ou tags).%ané o nome do autor.--date=shortmantém o formato de data curto.
Se você perceber que usa esse formato com frequência, pode defini-lo como padrão. Vamos fazer isso para este repositório. Aliás, se quiser manter esse formato em todos os seus repositórios, adicione a opção --global aos comandos abaixo.
git config format.pretty "%h %ad | %s%d [%an]"git config log.date short
Defina o formato de log personalizado como padrão usando os comandos acima.
Nota: isso afeta apenas o repositório atual. Se quiser definir o formato globalmente, adicione a opção --global depois de cada git config.
Ótimo! Agora você aprendeu a navegar pelo histórico de commits com eficiência usando o git log. Isso vai ser útil conforme seu projeto cresce e você precisa encontrar commits específicos.
Vamos partir para a comparação de commits.
Faça o curso do jeito que ele foi pensado: progressão em pequenas doses, ordem linear e focada, desbloqueio gradual das entradas da Gitopedia. Continue com o Git de verdade no VS Code/Cursor/Antigravity/Windsurf a qualquer momento.
mas precisa de login