summaryrefslogtreecommitdiff
path: root/Documentation/pretty-options.txt
blob: b3af8506086a83216abc5e5791dfe6c36eaf978c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
--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>::
	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 in `X`, 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 output the original object
	verbatim, along with a warning.

--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.