git diff показывает различия между commits, ветками или между working tree и index.
Команды
git diff # unstaged vs index
git diff --cached # index vs HEAD
git diff HEAD~1 HEAD # последний commit
git diff <commit1> <commit2> # два произвольных commit
git diff main..feature -- path/ # diff веток по пути
Без аргументов git diff сравнивает рабочую копию с последним add (не с последним commit).
Итог
git diff A B — patch между snapshot A и B; уточняйте staged/unstaged/ветки.