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.