12. Visualização de Histórico: Diffs e Logs

A capacidade de visualizar o histórico de mudanças em um projeto é uma das características mais poderosas do controle de versão com GIT e GitHub. Esta funcionalidade é crucial para entender a evolução de um projeto, identificar quando e por quem determinadas mudanças foram feitas, e para manter a integridade e a continuidade do desenvolvimento de software. Neste capítulo, vamos explorar como o GIT permite que você veja diffs (diferenças) e logs do histórico do seu repositório.

Compreendendo os Logs no GIT

O comando git log é uma ferramenta essencial que exibe o histórico de commits de um repositório. Ele lista os commits em ordem cronológica inversa, mostrando o mais recente primeiro. Cada commit é acompanhado de seu identificador único (hash do commit), o nome do autor, a data do commit e a mensagem de commit que fornece uma descrição das mudanças realizadas.

git log

Por padrão, o git log mostra uma lista detalhada de commits, mas sua saída pode ser personalizada para exibir diferentes níveis de detalhe ou filtrar por critérios específicos. Por exemplo, para ver um resumo mais compacto dos commits, você pode usar:

git log --oneline

Outras opções úteis incluem --author para filtrar commits por um autor específico, --before ou --after para filtrar por data, e --grep para buscar por palavras-chave na mensagem de commit.

Explorando Diffs no GIT

Diffs, ou diferenças, são um aspecto central do GIT. Eles mostram exatamente o que mudou entre dois pontos no histórico do seu projeto. O comando git diff é usado para comparar diferentes versões de arquivos no repositório GIT. Você pode usar diffs para ver o que mudou entre dois commits, entre branches, ou entre o seu diretório de trabalho e o último commit.

Para ver as mudanças não commitadas no seu diretório de trabalho em relação ao último commit, simplesmente execute:

git diff

Se você quiser comparar mudanças entre dois commits específicos, você pode fornecer os hashes de commit como argumentos:

git diff commit1 commit2

Este comando mostrará as diferenças de conteúdo entre os dois commits. Se você estiver interessado apenas em mudanças de um arquivo específico, pode especificar o nome do arquivo após os hashes de commit.

Formatos de Diffs

O GIT oferece várias maneiras de visualizar diffs. O formato padrão é o diff unificado, que mostra linhas removidas com um prefixo '-', e linhas adicionadas com um prefixo '+'. Além disso, você pode usar a opção --word-diff para destacar as mudanças dentro das linhas, em vez de mostrar linhas inteiras que foram alteradas.

Para quem prefere uma interface gráfica, o GitHub oferece uma maneira fácil de visualizar diffs online. Ao visualizar um commit ou pull request no GitHub, você pode ver diffs coloridos e formatados que destacam as adições e remoções.

Visualizando Histórico com Ferramentas Gráficas

Embora a linha de comando ofereça poderosas ferramentas para visualizar o histórico, algumas pessoas preferem usar interfaces gráficas. Ferramentas como o GitKraken, SourceTree e a própria interface do GitHub oferecem visualizações gráficas intuitivas do histórico de commits, permitindo que você navegue pelo histórico, veja diffs e obtenha uma compreensão visual das mudanças em seu projeto.

Boas Práticas ao Visualizar Histórico

Quando estiver visualizando o histórico de um projeto, é importante seguir algumas boas práticas:

  • Compreensão do Contexto: Sempre tente entender o contexto em torno das mudanças. Apenas olhar para o código alterado pode não fornecer a imagem completa sem entender o porquê dessas mudanças.
  • Uso de Mensagens de Commit Claras: Um histórico é tão útil quanto as mensagens de commit que o acompanham. Mensagens claras e descritivas facilitam a compreensão das intenções por trás de cada mudança.
  • Revisão de Código: Use o histórico e diffs como parte do processo de revisão de código para garantir que as mudanças sejam de alta qualidade e não introduzam problemas.
  • Referência a Issues ou Pull Requests: Ao trabalhar com o GitHub, referenciar issues ou pull requests nas mensagens de commit pode fornecer ainda mais contexto e conectar as mudanças a discussões mais amplas.

Conclusão

O versionamento de código com GIT e GitHub é uma parte essencial do fluxo de trabalho moderno de desenvolvimento de software. A habilidade de visualizar o histórico de um projeto através de logs e diffs não é apenas uma questão de rastrear mudanças; é uma ferramenta vital para a colaboração, revisão de código e manutenção de um projeto saudável e compreensível. Ao dominar essas técnicas, você garante que seu projeto possa se beneficiar da transparência, responsabilidade e controle que o versionamento de código com GIT e GitHub proporciona.

Agora responda o exercício sobre o conteúdo:

Qual das seguintes afirmações sobre o uso do comando `git log` no GIT é correta?

Você acertou! Parabéns, agora siga para a próxima página

Você errou! Tente novamente.

Imagem do artigo Desfazendo mudanças locais (revert e reset)

Próxima página do Ebook Gratuito:

13Desfazendo mudanças locais (revert e reset)

4 minutos

Ganhe seu Certificado deste Curso Gratuitamente! ao baixar o aplicativo Cursa e ler o ebook por lá. Disponível na Google Play ou App Store!

Disponível no Google Play Disponível no App Store

+ de 6,5 milhões
de alunos

Certificado Gratuito e
Válido em todo o Brasil

48 mil exercícios
gratuitos

4,8/5 classificação
nas lojas de apps

Cursos gratuitos em
vídeo, áudio e texto