git diff chỉ so sánh working tree với index, không phải HEAD. Muốn so sánh với HEAD phải dùng git diff HEAD

git diff <commit 1> <commit 2> -- <file>

git diff <commit 1>:<file 1> <commit 2>:<file 2>


Nguồn:: How to compare the working tree with a commit?