GIT: Configurando Meld como ferramenta de Diff externa no Linux

Icone do aplicativo MeldAo longo dos últimos anos, o Git vem ganhando cada vez mais espaço entre os desenvolvedores e assim, gradativamente, estabelece-se como uma poderosa ferramenta para versionamento. Tal ascensão pode ser explicada por algumas conta de algumas de suas características como rapidez, pois permite com que operações como commits e diffs sejam realizadas localmente, autonomia já que a rede só é necessária para a troca de revisão entre diferentes repositórios e confiabilidade, afinal, os repositórios dos desenvolvedores podem ser considerados como backups.  Por outro lado, exige um entendimento minimo prévio por parte daqueles que a usam e, justamente por essa razão, pode vir a tornar-se uma ferramenta complexa em ocasiões como a visualização da diferença entre arquivos, o famoso diff.

Vejamos um exemplo de comparação de arquivos com git puro:

git diff

Ao usar esse comando, obtemos algo como a imagem que segue em sequência:

Interface de comparação de arquivos

Nesse diff, em verde e marcados com o sinal de “+” estão destacadas as mudanças impostas pelo desenvolvedor, já em vermelho e marcadas com o sinal de “-” estão marcadas as linhas retiradas do arquivo.

É fácil perceber que para modificações pequenas e pontuais tal comando pode até a ser útil, por outro lado, imagine-se tendo que comparar várias modificações de uma só vez. Nesse cenário, uma ferramenta como o WinMerge para Windows ou o Meld do Linux são muito bem recebidas pois tornam mais óbvia as modificações que ocorreram como no caso da imagem abaixo:

Comparação de arquivos com Meld

Por sorte, essa configuração é possível e pode ser feita, levando em consideração um ambiente Linux, da seguinte maneira.

  1. Instalação do Meld qcomo ferramenta de comparação de arquivos
    sudo apt-get install meld
    
  2. Criar um arquivo de script
    touch /home/<seu usuario>/.config/git_diff_com_meld.sh
    
  3. Configurar o arquivo recém criado para informar os parâmetros que serão usados no Meld
    #!/bin/bash
    meld "$5" "$2"
    
  4. Configuração do Meld como ferramenta externa de diff para Git
    git config --global diff.external /home/<seu usuario>/.config/git_diff_com_meld.sh
    

Agora as próximas comparações entre arquivos usando o diff do Git vão fazer o uso do Meld tornando muito mais fácil a visualização das modificações realizadas entre arquivos.

E se você gostou desse artigo, talvez você goste desse também:
Guia prático dos comandos básicos do Git para o dia-a-dia do desenvolvedor

Referências:
Por que Git é Melhor que X?
Visualizando diff no Git com o Meld

Anúncios