--pretty[=<format>]::
--format=<format>::

	Pretty-print the contents of the commit logs in a given format,
	where '<format>' can be one of 'oneline', 'short', 'medium',
	'full', 'fuller', 'reference', 'email', 'raw', 'format:<string>'
	and 'tformat:<string>'.  When '<format>' is none of the above,
	and has '%placeholder' in it, it acts as if
	'--pretty=tformat:<format>' were given.
+
See the "PRETTY FORMATS" section for some additional details for each
format.  When '=<format>' part is omitted, it defaults to 'medium'.
+
Note: you can specify the default pretty format in the repository
configuration (see linkgit:git-config[1]).

--abbrev-commit::
	Instead of showing the full 40-byte hexadecimal commit object
	name, show a prefix that names the object uniquely.
	"--abbrev=<n>" (which also modifies diff output, if it is displayed)
	option can be used to specify the minimum length of the prefix.
+
This should make "--pretty=oneline" a whole lot more readable for
people using 80-column terminals.

--no-abbrev-commit::
	Show the full 40-byte hexadecimal commit object name. This negates
	`--abbrev-commit`, either explicit or implied by other options such
	as "--oneline". It also overrides the `log.abbrevCommit` variable.

--oneline::
	This is a shorthand for "--pretty=oneline --abbrev-commit"
	used together.

--encoding=<encoding>::
	The commit objects record the encoding used for the log message
	in their encoding header; this option can be used to tell the
	command to re-code the commit log message in the encoding
	preferred by the user.  For non plumbing commands this
	defaults to UTF-8. Note that if an object claims to be encoded
	in `X` and we are outputting in `X`, we will output the object
	verbatim; this means that invalid sequences in the original
	commit may be copied to the output.

--expand-tabs=<n>::
--expand-tabs::
--no-expand-tabs::
	Perform a tab expansion (replace each tab with enough spaces
	to fill to the next display column that is multiple of '<n>')
	in the log message before showing it in the output.
	`--expand-tabs` is a short-hand for `--expand-tabs=8`, and
	`--no-expand-tabs` is a short-hand for `--expand-tabs=0`,
	which disables tab expansion.
+
By default, tabs are expanded in pretty formats that indent the log
message by 4 spaces (i.e.  'medium', which is the default, 'full',
and 'fuller').

ifndef::git-rev-list[]
--notes[=<ref>]::
	Show the notes (see linkgit:git-notes[1]) that annotate the
	commit, when showing the commit log message.  This is the default
	for `git log`, `git show` and `git whatchanged` commands when
	there is no `--pretty`, `--format`, or `--oneline` option given
	on the command line.
+
By default, the notes shown are from the notes refs listed in the
`core.notesRef` and `notes.displayRef` variables (or corresponding
environment overrides). See linkgit:git-config[1] for more details.
+
With an optional '<ref>' argument, use the ref to find the notes
to display.  The ref can specify the full refname when it begins
with `refs/notes/`; when it begins with `notes/`, `refs/` and otherwise
`refs/notes/` is prefixed to form a full name of the ref.
+
Multiple --notes options can be combined to control which notes are
being displayed. Examples: "--notes=foo" will show only notes from
"refs/notes/foo"; "--notes=foo --notes" will show both notes from
"refs/notes/foo" and from the default notes ref(s).

--no-notes::
	Do not show notes. This negates the above `--notes` option, by
	resetting the list of notes refs from which notes are shown.
	Options are parsed in the order given on the command line, so e.g.
	"--notes --notes=foo --no-notes --notes=bar" will only show notes
	from "refs/notes/bar".

--show-notes[=<ref>]::
--[no-]standard-notes::
	These options are deprecated. Use the above --notes/--no-notes
	options instead.
endif::git-rev-list[]

--show-signature::
	Check the validity of a signed commit object by passing the signature
	to `gpg --verify` and show the output.
