Com total crédito a Josh Diehl em um comentário a esta resposta , no entanto, sinto que isso deveria ser uma resposta em si mesma, acrescentando-a:
Uma maneira de lidar com as diferenças nas linhas longas é usar um diff orientado a palavras. Isso pode ser feito com:
git diff --word-diff
Nesse caso, você obterá uma saída diff significativamente diferente, que mostra especificamente o que mudou dentro de uma linha.
Por exemplo, em vez de obter algo parecido com isto:
diff --git a/test-file.txt b/test-file.txt
index 19e6adf..eb6bb81 100644
--- a/test-file.txt
+++ b/test-file.txt
@@ -1 +1 @@
-this is a short line
+this is a slightly longer line
Você pode obter algo parecido com isto:
diff --git a/test-file.txt b/test-file.txt
index 19e6adf..eb6bb81 100644
--- a/test-file.txt
+++ b/test-file.txt
@@ -1 +1 @@
this is a [-short-]{+slightly longer+} line
Ou, com colorização, em vez disso:

Você pode obter o seguinte:

Agora, se você estiver comparando uma linha muito longa, ainda poderá ter problemas com a situação do pager que descreveu originalmente e que foi abordada, aparentemente para satisfação, em outras respostas. Espero que isso ofereça uma nova ferramenta, no entanto, para identificar mais facilmente o que mudou na linha.