git-show(1)
===========

NAME
----
git-show - Show various types of objects


SYNOPSIS
--------
[synopsis]
git show [<options>] [<object>...]

DESCRIPTION
-----------
Shows one or more objects (blobs, trees, tags and commits).

For commits it shows the log message and textual diff. It also
presents the merge commit in a special format as produced by
`git diff-tree --cc`.

For tags, it shows the tag message and the referenced objects.

For trees, it shows the names (equivalent to `git ls-tree`
with `--name-only`).

For plain blobs, it shows the plain contents.

Some options that `git log` command understands can be used to
control how the changes the commit introduces are shown.

This manual page describes only the most frequently used options.


OPTIONS
-------
`<object>...`::
	The names of objects to show (defaults to `HEAD`).
	For a more complete list of ways to spell object names, see
	"SPECIFYING REVISIONS" section in linkgit:gitrevisions[7].

include::pretty-options.adoc[]


include::pretty-formats.adoc[]


DIFF FORMATTING
---------------
The options below can be used to change the way `git show` generates
diff output.

:git-log: 1
:diff-merges-default: `dense-combined`
include::diff-options.adoc[]

include::diff-generate-patch.adoc[]


EXAMPLES
--------

`git show v1.0.0`::
	Shows the tag `v1.0.0`, along with the object the tag
	points at.

`git show v1.0.0^{tree}`::
	Shows the tree pointed to by the tag `v1.0.0`.

`git show -s --format=%s v1.0.0^{commit}`::
	Shows the subject of the commit pointed to by the
	tag `v1.0.0`.

`git show next~10:Documentation/README`::
	Shows the contents of the file `Documentation/README` as
	they were current in the 10th last commit of the branch
	`next`.

`git show master:Makefile master:t/Makefile`::
	Concatenates the contents of said Makefiles in the head
	of the branch `master`.

DISCUSSION
----------

include::i18n.adoc[]

GIT
---
Part of the linkgit:git[1] suite
