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.