Back

Como melhorar a legibilidade do git diff com diff-so-fancy

Como melhorar a legibilidade do git diff com diff-so-fancy

Ler diffs brutos do Git pode ser cansativo. A saída padrão é densa, frequentemente cheia de sinais de mais e menos, e difícil de examinar rapidamente. Se você revisa alterações com frequência, tornar os diffs mais legíveis pode economizar tempo e ajudá-lo a identificar problemas mais rapidamente.

Neste artigo, mostraremos como melhorar a legibilidade do Git diff usando diff-so-fancy — uma ferramenta projetada para tornar os diffs mais agradáveis visualmente.

Principais Pontos

  • diff-so-fancy melhora a legibilidade do Git diff com melhor formatação e colorização
  • Instalá-lo e configurá-lo leva apenas alguns passos
  • Diffs claros facilitam a revisão precisa das alterações

Por que a legibilidade do Git diff é importante

Quando você executa git diff, o Git mostra alterações com símbolos como + e - no início das linhas. Embora funcional, pode ser visualmente agressivo, especialmente para grandes alterações de código.

Diffs difíceis de ler podem causar bugs não detectados, revisões de código mais lentas e fadiga mental. Melhorar a forma como o Git mostra os diffs é uma pequena mudança com um grande retorno na produtividade diária.

Leitura relacionada: Como criar e usar aliases do Git para um fluxo de trabalho mais rápido

O que é diff-so-fancy?

diff-so-fancy é um pequeno utilitário que pega a saída do Git diff e a formata para melhor legibilidade. Ele remove marcadores extras, destaca alterações com mais clareza e estrutura a saída para que você possa revisar o código mais rapidamente.

Principais melhorias:

  • Adições e exclusões mais claras
  • Palavras alteradas dentro das linhas enfatizadas
  • Cabeçalhos de seção mais limpos
  • Agrupamento de blocos mais fácil de examinar

Como instalar o diff-so-fancy

Você pode instalar o diff-so-fancy facilmente através de gerenciadores de pacotes comuns.

No macOS com Homebrew:

brew install diff-so-fancy

No Ubuntu ou Linux baseado em Debian:

sudo apt install diff-so-fancy

Ou clone diretamente do GitHub:

git clone https://github.com/so-fancy/diff-so-fancy.git

Certifique-se de que o diff-so-fancy esteja no caminho do sistema após a instalação.

Como configurar o Git para usar o diff-so-fancy

Uma vez instalado, você precisa dizer ao Git para canalizar os diffs através do diff-so-fancy.

Configure-o com os seguintes comandos de configuração do Git:

git config --global core.pager "diff-so-fancy | less --tabs=4 -RFX"
git config --global interactive.diffFilter "diff-so-fancy --patch"

Esta configuração:

  • Canaliza todos os diffs através do diff-so-fancy
  • Mantém a saída colorida intacta
  • Torna o comportamento de rolagem no less limpo e responsivo

Você também pode criar um alias do Git se preferir chamá-lo manualmente. Exemplo:

git config --global alias.dsf "!git diff --color | diff-so-fancy"

Agora você pode executar git dsf a qualquer momento para ver um diff mais elegante.

Antes e depois: vendo a diferença

Saída padrão do git diff:

- old line of code
+ new line of code

Com diff-so-fancy:

  • Apenas as partes alteradas de uma linha são destacadas
  • Nomes de arquivos e cabeçalhos de seção são mais fáceis de examinar
  • As alterações são estruturadas de uma forma que segue naturalmente seus olhos

Isso ajuda você a entender rapidamente o que mudou, sem ruído extra.

Conclusão

Pequenas melhorias no seu fluxo de trabalho diário com Git se acumulam ao longo do tempo. Configurar o Git com diff-so-fancy torna seus diffs mais fáceis de ler, as revisões mais rápidas e os erros menos prováveis. Se você gostou desta melhoria, também pode encontrar valor em Usando Atalhos de URL do Git para Acelerar a Clonagem de Repositórios.

Perguntas Frequentes

Não. Ele apenas altera como os diffs são exibidos. Seu histórico e dados do Git permanecem os mesmos.

Sim. Você pode remover a configuração do Git ou chamar `git --no-pager diff` para ignorá-lo temporariamente.

Ele melhora principalmente as saídas de `git diff` e `git log -p`. Outros comandos permanecem inalterados.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers