Configurando seu próprio difftool

Eu vi uma dúzia de maneiras diferentes e excessivamente complicadas de definir sua ferramenta diff padrão ao executar ‘git difftool’ para visualizar as diferenças de arquivo em um repositório específico. A maioria deles envolve escrever algum script de wrapper e configurar seu arquivo .gitconfig de alguma forma boba de invocar o referido wrapper.

Eu prefiro simples. Aqui está o que coloquei no meu arquivo ~ / .gitconfig:

[diff]
tool
= ksdiff
[difftool "ksdiff"]
cmd
= "ksdiff $LOCAL $REMOTE"
[difftool]
prompt
= false

É bastante autoexplicativo, mas explicarei o que está acontecendo de qualquer maneira só porque gosto de explicações.

As duas primeiras linhas dizem ao git qual ferramenta usar para o diff (ksdiff, no meu caso).

As próximas duas linhas dizem ao git qual comando executar ao executar “git difftool”. Você realmente só precisa dessa linha se a ferramenta diff que está usando não estiver em seu caminho ou se quiser passar qualquer argumento não padrão para o programa. Se, por exemplo, você deseja usar o vimdiff em vez disso, você provavelmente não precisa dessas duas linhas.

As duas últimas linhas dizem ao git para não perguntar se você realmente deseja ver o diff no programa que você já disse para abrir. Coloquei isso depois de já ter certeza de que o comando estava funcionando. Se não funcionar, o git voltará para a ferramenta diff padrão do seu sistema.