How can you use git diff to ignore changes in whitespace?

In the world of version control systems, Git is a widely used tool that keeps track of changes in source code during software development. It allows multiple people to work on a project at the same time without overwriting each other’s changes.

However, as a developer, you may encounter a situation where you only want to view the substantial changes to the code, ignoring minor changes such as those involving whitespace. This post will explain how to achieve this using the git diff command with the appropriate flags.


The git diff command is a powerful tool that can be used to show changes between commits, commit and working tree, etc. This command helps developers understand what changes have been made to the code.

To ignore changes in whitespace while using git diff, you can use the -w or --ignore-all-space option. This option treats all white spaces as if they don’t exist while comparing lines. This can be useful when changes in the code are significant, and whitespace changes might cloud the substantial code changes.

Here’s an example of how you can use git diff to ignore changes in whitespace:

bashCopy codegit diff -w OR git diff --ignore-all-space

Additionally, there are other related options you can use:

  • --ignore-space-at-eol: This ignores changes in whitespace at end of line.
  • --ignore-space-change (-b): This ignores changes in the amount of whitespace. This treats all consecutive whitespaces as a single whitespace.
  • --ignore-blank-lines (-B): This option ignores changes that just insert or delete blank lines.

Here’s how you can use these options:

bashCopy codegit diff --ignore-space-at-eol
git diff -b OR git diff --ignore-space-change
git diff -B OR git diff --ignore-blank-lines

Please remember, these commands don’t permanently configure Git to ignore these kinds of changes, they only ignore them for the current command. If you wish to make this a permanent setting for all your diff commands, you can set the configuration in your git settings like this:

bashCopy codegit config --global core.whitespace trailing-space,space-before-tab
git config --global diff.ignoreBlankLines true

In conclusion, git diff with the right options can help you better understand the changes to your code by ignoring insignificant changes like whitespace differences.