summaryrefslogtreecommitdiff
path: root/Documentation/git-log.txt
blob: 5920d1799acd2fe84e302b005695e2c795ecad36 (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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
git-log(1)
==========

NAME
----
git-log - Show commit logs


SYNOPSIS
--------
'git-log' <option>...

DESCRIPTION
-----------
Shows the commit logs.

The command takes options applicable to the gitlink:git-rev-list[1]
command to control what is shown and how, and options applicable to
the gitlink:git-diff-tree[1] commands to control how the changes
each commit introduces are shown.

This manual page describes only the most frequently used options.


OPTIONS
-------

include::pretty-options.txt[]

:git-log: 1
include::diff-options.txt[]

-<n>::
	Limits the number of commits to show.

<since>..<until>::
	Show only commits between the named two commits.  When
	either <since> or <until> is omitted, it defaults to
	`HEAD`, i.e. the tip of the current branch.
	For a more complete list of ways to spell <since>
	and <until>, see "SPECIFYING REVISIONS" section in
	gitlink:git-rev-parse[1].

--first-parent::
	Follow only the first parent commit upon seeing a merge
	commit.  This  option gives a better overview of the
	evolution of a particular branch.

-g, \--walk-reflogs::
	Show commits as they were recorded in the reflog. The log contains
	a record about how the tip of a reference was changed.
	Cannot be combined with --reverse.
	See also gitlink:git-reflog[1].

--decorate::
	Print out the ref names of any commits that are shown.

--full-diff::
	Without this flag, "git log -p <paths>..." shows commits that
	touch the specified paths, and diffs about the same specified
	paths.  With this, the full diff is shown for commits that touch
	the specified paths; this means that "<paths>..." limits only
	commits, and doesn't limit diff for those commits.

--follow::
	Continue listing the history of a file beyond renames.

--log-size::
	Before the log message print out its size in bytes. Intended
	mainly for porcelain tools consumption. If git is unable to
	produce a valid value size is set to zero.
	Note that only message is considered, if also a diff is shown
	its size is not included.

<paths>...::
	Show only commits that affect the specified paths.


include::pretty-formats.txt[]

include::diff-generate-patch.txt[]

Examples
--------
git log --no-merges::

	Show the whole commit history, but skip any merges

git log v2.6.12.. include/scsi drivers/scsi::

	Show all commits since version 'v2.6.12' that changed any file
	in the include/scsi or drivers/scsi subdirectories

git log --since="2 weeks ago" \-- gitk::

	Show the changes during the last two weeks to the file 'gitk'.
	The "--" is necessary to avoid confusion with the *branch* named
	'gitk'

git log --name-status release..test::

	Show the commits that are in the "test" branch but not yet
	in the "release" branch, along with the list of paths
	each commit modifies.

git log --follow builtin-rev-list.c::

	Shows the commits that changed builtin-rev-list.c, including
	those commits that occurred before the file was given its
	present name.

Discussion
----------

include::i18n.txt[]


Author
------
Written by Linus Torvalds <torvalds@osdl.org>

Documentation
--------------
Documentation by David Greaves, Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
---
Part of the gitlink:git[7] suite