O'Reilly logo

Linux in a Nutshell, 6th Edition by Robert Love, Stephen Figgins, Ellen Siever, Arnold Robbins

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Name

diff

Synopsis

git diff first-commit [second-commit] [-- path ...]
git diff --cached [first-commit] [-- path ...]

Show the differences between two revisions. If paths are specified, restricts the comparison to only the given files or directories.

The default first-commit is HEAD.

The default second-commit is normally the work tree. With --cached, the default second-commit is the index.

Options

--name-only
--name-status
--stat (show diffstat instead of patch)
-a, --text
-M (detect renames)
-C (detect copies and renames)
--find-copies-harder
-R (reverse patch)
-w, --ignore-all-space
--exit-code
-Un, --unified=n

Examples

To see which changes are already staged in the index:

$ git diff --cached

To see which changes are in the work tree but not yet staged:

$ git diff

To see a summary of changes between two tags (v1.1 and v2.0):

$ git diff --stat v1.1 v2.0

To see the changes between v1.1 and the current work tree:

$ git diff v1.1

To see the changes between v1.1 and HEAD:

$ git diff v1.1 HEAD

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required