When running git diff <SHA>
, you'll see output for all files changed at that
commit. It's the same if you do a range of commits (e.g. git diff <SHA1>...<SHA2>
).
If you are looking for changes in a particular part of the tree, then other
changes will be a distraction. Some generated files, such as yarn.lock
, can
create a lot of noise in the diff output.
You can get a more focused output by excluding certain files and paths. The syntax for doing that, however, is a bit wonky.
To exclude a file, you have to add an argument formatted like
':(exclude)<filename>
.
For instance, to exclude yarn.lock
:
$ git diff <SHA> -- . ':(exclude)yarn.lock'
or to exclude an entire directory:
$ git diff <SHA> -- . ':(exclude)spec/**'