Contents
☰git diff
command shows difference between commits, commit and working tree, commit and staging area, working tree and staging area, etc.
Note: If you want to show difference in a visible tool,
git difftool
works for you. It accepts the same options asgit diff
.The default difftool used by Git is vimdiff, you can set up your own difftool like Beycond Compare, see
Difference between commits
# Difference between two commits
$ git diff
# Examples:
# Difference between HEAD's parent and HEAD
$ git diff HEAD~ HEAD
If you just want to show difference for a file, add --
:
# Difference between HEAD's parent and HEAD for index.php
$ git diff HEAD~ HEAD -- ./index.php
Difference between working tree and staging area
In other words, the , the below command show the untagged changes :
# Difference between working tree and staging area
$ git diff
Difference between working tree and commit
# Difference between working tree and commit
$ git diff
# Examples:
# Difference between working tree and commit specified by '323552e'
$ git diff 323552e
Difference between staging area and commit
# Difference between staging area and commit
$ git diff --cached []
# Examples:
# Difference between staging area and HEAD. In other words, show the changes to be committed
$ git diff --cached
# Difference between staging area and HEAD~
$ git diff --cached HEAD~