- --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 thelog.abbrevCommit
variable. - --oneline
-
This is a shorthand for "--pretty=oneline --abbrev-commit" used together.
- --encoding=<encoding>
-
Commit objects record the character 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 inX
, we will output the object verbatim; this means that invalid sequences in the original commit may be copied to the output. Likewise, if iconv(3) fails to convert the commit, we will quietly output the original object verbatim. - --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 a 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').
- --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
andgit 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
andnotes.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 withnotes/
,refs/
and otherwiserefs/notes/
is prefixed to form the 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-by-default
-
Show the default notes unless options for displaying specific notes are given.
- --show-notes[=<ref>]
- --[no-]standard-notes
-
These options are deprecated. Use the above --notes/--no-notes options instead.
- --show-signature
-
Check the validity of a signed commit object by passing the signature to
gpg --verify
and show the output.