git diff-tree

Compares the content and mode of blobs found via two tree objects. More information: https://git-scm.com/docs/git-diff-tree.

git diff-tree tree-ish1 tree-ish2

git diff-tree -r commit1 commit2

git diff-tree -p tree-ish1 tree-ish2

git diff-tree tree-ish1 tree-ish2 -- path/to/file_or_directory