Z pełną kredytu Josh Diehl w a comment do this answer, ja mimo to czuję się jak to powinno być odpowiedź sama w sobie , więc dodajemy:
Jednym ze sposobów radzenia sobie z dostrzeganiem różnic w długich liniach jest użycie zorientowanego na słowo typu diff. Można to zrobić za pomocą:
git diff --word-diff
W tym przypadku otrzymasz znacznie inne wyjście diff, które pokazuje dokładnie, co zmieniło się w linii.
Na przykład, zamiast się coś takiego:
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
Można dostać coś takiego:
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
lub, za koloryzacji, zamiast tego:
Możesz uzyskać to:
Teraz, jeśli porównać naprawdę długą linię, może nadal mieć problemy z sytuacji pagera pierwotnie opisany, i która została skierowana najwyraźniej do satysfakcji w innych odpowiedzi. Mam nadzieję, że daje to nowe narzędzie, które pozwala łatwiej określić, co zmieniło się na linii.
Gah .. Nie miałem pojęcia, że możesz ruszyć w prawo za pomocą klawiszy strzałek! Dzięki. –
Możesz chcieć wypróbować 'git diff - kolor-słowa', to nie rozwiąże problemu przewijania, ale zmiany słów są otoczone kontekstem w jednym wierszu! – kevinf
Używanie "fold" wydaje się działać całkiem dobrze: 'git diff --color-words | fold' – Amy