Se você usa o git na linha de comando saiba que é possível utilizar um visualizador de diff diferente do padrão. Utilizarei como exemplo o meld que é uma feramenta gráfica para merge e diff de arquivos e diretórios. O exemplo pode ser adapatado para outras ferramentas.
Para começar instale o meld. Se estiver utilizando o ubuntu utilize o comando
sudo apt-get install meld
Agora vamos configurar o git para utilizar o meld como ferramenta padrão. Para isso utilize o comando:
git config --global diff.external meld
Pronto, agora basta utilizar o diff do git normalmente que o meld já será chamado.
git diff arquivo
O problema é que o git passa 7 parâmetros para o meld e ele só precisa de 2 (os arquivos que ele irá comparar).
Usage: meld Iniciar com a janela vazia meldInicia uma comparação de controle de versão meld [ ] Inicia uma comparação de arquivo em 2 ou 3 vias meld [ ] Inicia uma comparação de diretório em 2 ou 3 vias meld Iniciar uma comparação entre arquivo e diretório/arquivo meld: error: muitos argumentos (desejado 0-4, dados 7)
Para corrigir isso vamos fazer um script que pega somente os dois parâmetros necessários para o meld (que são o arquivo atual e a sua versão no HEAD).
Crie um script python com o conteúdo abaixo:
#!/usr/bin/python import sys import os os.system('meld "%s" "%s"' % (sys.argv[2], sys.argv[5]))
Salve o script como o nome diff.py por exemplo.
Atualize as permissões do script para permitir execução:
chmod +x diff.py
Adicione o caminho onde o script foi salvo no PATH. Para isso você pode editar o arquivo ~/.bashrc e adicionar a linha
export PATH=caminho_onde_foi_salvo_o_arquivo:$PATH
Por sim altere novamente a ferramenta de diff padrão do git com o comando:
git config --global diff.external diff.py
Fonte: https://nathanhoad.net/how-to-meld-for-git-diffs-in-ubuntu-hardy