Add `log.decorate' configuration variable.
[git/git.git] / Documentation / git-log.txt
CommitLineData
215a7ad1
JH
1git-log(1)
2==========
3f971fc4
JH
3
4NAME
5----
215a7ad1 6git-log - Show commit logs
3f971fc4
JH
7
8
9SYNOPSIS
10--------
b1524ee0 11'git log' [<options>] [<since>..<until>] [[\--] <path>...]
3f971fc4
JH
12
13DESCRIPTION
14-----------
e51c3b50
JH
15Shows the commit logs.
16
0b444cdb 17The command takes options applicable to the 'git rev-list'
e51c3b50 18command to control what is shown and how, and options applicable to
0b444cdb 19the 'git diff-*' commands to control how the changes
e51c3b50
JH
20each commit introduces are shown.
21
3f971fc4
JH
22
23OPTIONS
24-------
5d1faf87 25
272bd3cf
MV
26:git-log: 1
27include::diff-options.txt[]
28
adb7ba6b 29-<n>::
3f971fc4
JH
30 Limits the number of commits to show.
31
32<since>..<until>::
99e09cce
JH
33 Show only commits between the named two commits. When
34 either <since> or <until> is omitted, it defaults to
35 `HEAD`, i.e. the tip of the current branch.
41a5564e
SP
36 For a more complete list of ways to spell <since>
37 and <until>, see "SPECIFYING REVISIONS" section in
5162e697 38 linkgit:git-rev-parse[1].
3f971fc4 39
33e7018c
LH
40--decorate[=short|full]::
41 Print out the ref names of any commits that are shown. If 'short' is
42 specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and
43 'refs/remotes/' will not be printed. If 'full' is specified, the
44 full ref name (including prefix) will be printed. The default option
45 is 'short'.
56822cc9 46
30c4d7a7
NS
47--source::
48 Print out the ref name given on the command line by which each
49 commit was reached.
50
2e88c266 51--full-diff::
f448e24e 52 Without this flag, "git log -p <path>..." shows commits that
2e88c266
JN
53 touch the specified paths, and diffs about the same specified
54 paths. With this, the full diff is shown for commits that touch
f448e24e 55 the specified paths; this means that "<path>..." limits only
2e88c266
JN
56 commits, and doesn't limit diff for those commits.
57
4f50f6a9
SW
58--follow::
59 Continue listing the history of a file beyond renames.
60
9fa3465d
MC
61--log-size::
62 Before the log message print out its size in bytes. Intended
63 mainly for porcelain tools consumption. If git is unable to
64 produce a valid value size is set to zero.
65 Note that only message is considered, if also a diff is shown
66 its size is not included.
67
b1524ee0 68[\--] <path>...::
69 Show only commits that affect any of the specified paths. To
70 prevent confusion with options and branch names, paths may need
71 to be prefixed with "\-- " to separate them from options or
72 refnames.
e51c3b50 73
3f971fc4 74
fdcf39e5
MV
75include::rev-list-options.txt[]
76
331b51d2
JN
77include::pretty-formats.txt[]
78
272bd3cf 79include::diff-generate-patch.txt[]
331b51d2 80
bd663611
LT
81Examples
82--------
83git log --no-merges::
84
85 Show the whole commit history, but skip any merges
86
87git log v2.6.12.. include/scsi drivers/scsi::
88
89 Show all commits since version 'v2.6.12' that changed any file
90 in the include/scsi or drivers/scsi subdirectories
91
e994004f 92git log --since="2 weeks ago" \-- gitk::
bd663611
LT
93
94 Show the changes during the last two weeks to the file 'gitk'.
95 The "--" is necessary to avoid confusion with the *branch* named
96 'gitk'
97
170c0438 98git log --name-status release..test::
e51c3b50
JH
99
100 Show the commits that are in the "test" branch but not yet
101 in the "release" branch, along with the list of paths
102 each commit modifies.
bd663611 103
4f50f6a9
SW
104git log --follow builtin-rev-list.c::
105
106 Shows the commits that changed builtin-rev-list.c, including
107 those commits that occurred before the file was given its
108 present name.
109
b09fe971 110git log --branches --not --remotes=origin::
d08bae7e
IL
111
112 Shows all commits that are in any of local branches but not in
113 any of remote tracking branches for 'origin' (what you have that
114 origin doesn't).
115
b09fe971 116git log master --not --remotes=*/master::
d08bae7e
IL
117
118 Shows all commits that are in local master but not in any remote
119 repository master branches.
120
5dc7bcc2
JH
121Discussion
122----------
123
124include::i18n.txt[]
125
126
3f971fc4
JH
127Author
128------
129Written by Linus Torvalds <torvalds@osdl.org>
130
131Documentation
132--------------
133Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
134
135GIT
136---
9e1f0a85 137Part of the linkgit:git[1] suite