Merge branch 'lt/block-sha1'
[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
ba020ef5 17The command takes options applicable to the 'git-rev-list'
e51c3b50 18command to control what is shown and how, and options applicable to
ba020ef5 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
56822cc9 40--decorate::
ef3cb65c 41 Print out the ref names of any commits that are shown.
56822cc9 42
30c4d7a7
NS
43--source::
44 Print out the ref name given on the command line by which each
45 commit was reached.
46
2e88c266 47--full-diff::
f448e24e 48 Without this flag, "git log -p <path>..." shows commits that
2e88c266
JN
49 touch the specified paths, and diffs about the same specified
50 paths. With this, the full diff is shown for commits that touch
f448e24e 51 the specified paths; this means that "<path>..." limits only
2e88c266
JN
52 commits, and doesn't limit diff for those commits.
53
4f50f6a9
SW
54--follow::
55 Continue listing the history of a file beyond renames.
56
9fa3465d
MC
57--log-size::
58 Before the log message print out its size in bytes. Intended
59 mainly for porcelain tools consumption. If git is unable to
60 produce a valid value size is set to zero.
61 Note that only message is considered, if also a diff is shown
62 its size is not included.
63
b1524ee0 64[\--] <path>...::
65 Show only commits that affect any of the specified paths. To
66 prevent confusion with options and branch names, paths may need
67 to be prefixed with "\-- " to separate them from options or
68 refnames.
e51c3b50 69
3f971fc4 70
fdcf39e5
MV
71include::rev-list-options.txt[]
72
331b51d2
JN
73include::pretty-formats.txt[]
74
272bd3cf 75include::diff-generate-patch.txt[]
331b51d2 76
bd663611
LT
77Examples
78--------
79git log --no-merges::
80
81 Show the whole commit history, but skip any merges
82
83git log v2.6.12.. include/scsi drivers/scsi::
84
85 Show all commits since version 'v2.6.12' that changed any file
86 in the include/scsi or drivers/scsi subdirectories
87
e994004f 88git log --since="2 weeks ago" \-- gitk::
bd663611
LT
89
90 Show the changes during the last two weeks to the file 'gitk'.
91 The "--" is necessary to avoid confusion with the *branch* named
92 'gitk'
93
170c0438 94git log --name-status release..test::
e51c3b50
JH
95
96 Show the commits that are in the "test" branch but not yet
97 in the "release" branch, along with the list of paths
98 each commit modifies.
bd663611 99
4f50f6a9
SW
100git log --follow builtin-rev-list.c::
101
102 Shows the commits that changed builtin-rev-list.c, including
103 those commits that occurred before the file was given its
104 present name.
105
5dc7bcc2
JH
106Discussion
107----------
108
109include::i18n.txt[]
110
111
3f971fc4
JH
112Author
113------
114Written by Linus Torvalds <torvalds@osdl.org>
115
116Documentation
117--------------
118Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.
119
120GIT
121---
9e1f0a85 122Part of the linkgit:git[1] suite