JFIF$        dd7 

Viewing File: /usr/share/doc/git/git-log.txt

git-log(1)
==========

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


SYNOPSIS
--------
[verse]
'git log' [<options>] [<revision-range>] [[--] <path>...]

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

:git-log: 1
include::rev-list-description.txt[]

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


OPTIONS
-------

--follow::
	Continue listing the history of a file beyond renames
	(works only for a single file).

--no-decorate::
--decorate[=short|full|auto|no]::
	Print out the ref names of any commits that are shown. If 'short' is
	specified, the ref name prefixes 'refs/heads/', 'refs/tags/' and
	'refs/remotes/' will not be printed. If 'full' is specified, the
	full ref name (including prefix) will be printed. If 'auto' is
	specified, then if the output is going to a terminal, the ref names
	are shown as if 'short' were given, otherwise no ref names are
	shown. The option `--decorate` is short-hand for `--decorate=short`.
	Default to configuration value of `log.decorate` if configured,
	otherwise, `auto`.

--decorate-refs=<pattern>::
--decorate-refs-exclude=<pattern>::
	For each candidate reference, do not use it for decoration if it
	matches any patterns given to `--decorate-refs-exclude` or if it
	doesn't match any of the patterns given to `--decorate-refs`. The
	`log.excludeDecoration` config option allows excluding refs from
	the decorations, but an explicit `--decorate-refs` pattern will
	override a match in `log.excludeDecoration`.
+
If none of these options or config settings are given, then references are
used as decoration if they match `HEAD`, `refs/heads/`, `refs/remotes/`,
`refs/stash/`, or `refs/tags/`.

--clear-decorations::
	When specified, this option clears all previous `--decorate-refs`
	or `--decorate-refs-exclude` options and relaxes the default
	decoration filter to include all references. This option is
	assumed if the config value `log.initialDecorationSet` is set to
	`all`.

--source::
	Print out the ref name given on the command line by which each
	commit was reached.

--[no-]mailmap::
--[no-]use-mailmap::
	Use mailmap file to map author and committer names and email
	addresses to canonical real names and email addresses. See
	linkgit:git-shortlog[1].

--full-diff::
	Without this flag, `git log -p <path>...` 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 "<path>..." limits only
	commits, and doesn't limit diff for those commits.
+
Note that this affects all diff-based output types, e.g. those
produced by `--stat`, etc.

--log-size::
	Include a line ``log size <number>'' in the output for each commit,
	where <number> is the length of that commit's message in bytes.
	Intended to speed up tools that read log messages from `git log`
	output by allowing them to allocate space in advance.

include::line-range-options.txt[]

<revision-range>::
	Show only commits in the specified revision range.  When no
	<revision-range> is specified, it defaults to `HEAD` (i.e. the
	whole history leading to the current commit).  `origin..HEAD`
	specifies all the commits reachable from the current commit
	(i.e. `HEAD`), but not from `origin`. For a complete list of
	ways to spell <revision-range>, see the 'Specifying Ranges'
	section of linkgit:gitrevisions[7].

[--] <path>...::
	Show only commits that are enough to explain how the files
	that match the specified paths came to be.  See 'History
	Simplification' below for details and other simplification
	modes.
+
Paths may need to be prefixed with `--` to separate them from
options or the revision range, when confusion arises.

include::rev-list-options.txt[]

include::pretty-formats.txt[]

DIFF FORMATTING
---------------

By default, `git log` does not generate any diff output. The options
below can be used to show the changes made by each commit.

Note that unless one of `--diff-merges` variants (including short
`-m`, `-c`, `--cc`, and `--dd` options) is explicitly given, merge commits
will not show a diff, even if a diff format like `--patch` is
selected, nor will they match search options like `-S`. The exception
is when `--first-parent` is in use, in which case `first-parent` is
the default format for merge commits.

:git-log: 1
:diff-merges-default: `off`
include::diff-options.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.

`git log --branches --not --remotes=origin`::

	Shows all commits that are in any of local branches but not in
	any of remote-tracking branches for 'origin' (what you have that
	origin doesn't).

`git log master --not --remotes=*/master`::

	Shows all commits that are in local master but not in any remote
	repository master branches.

`git log -p -m --first-parent`::

	Shows the history including change diffs, but only from the
	``main branch'' perspective, skipping commits that come from merged
	branches, and showing full diffs of changes introduced by the merges.
	This makes sense only when following a strict policy of merging all
	topic branches when staying on a single integration branch.

`git log -L '/int main/',/^}/:main.c`::

	Shows how the function `main()` in the file `main.c` evolved
	over time.

`git log -3`::

	Limits the number of commits to show to 3.

DISCUSSION
----------

include::i18n.txt[]

CONFIGURATION
-------------

See linkgit:git-config[1] for core variables and linkgit:git-diff[1]
for settings related to diff generation.

format.pretty::
	Default for the `--format` option.  (See 'Pretty Formats' above.)
	Defaults to `medium`.

i18n.logOutputEncoding::
	Encoding to use when displaying logs.  (See 'Discussion' above.)
	Defaults to the value of `i18n.commitEncoding` if set, and UTF-8
	otherwise.

include::includes/cmd-config-section-rest.txt[]

include::config/log.txt[]

include::config/notes.txt[]

GIT
---
Part of the linkgit:git[1] suite
Back to Directory  nL+D550H?Mx ,D"v]qv;6*Zqn)ZP0!1 A "#a$2Qr D8 a Ri[f\mIykIw0cuFcRı?lO7к_f˓[C$殷WF<_W ԣsKcëIzyQy/_LKℂ;C",pFA:/]=H  ~,ls/9ć:[=/#f;)x{ٛEQ )~ =𘙲r*2~ a _V=' kumFD}KYYC)({ *g&f`툪ry`=^cJ.I](*`wq1dđ#̩͑0;H]u搂@:~וKL Nsh}OIR*8:2 !lDJVo(3=M(zȰ+i*NAr6KnSl)!JJӁ* %݉?|D}d5:eP0R;{$X'xF@.ÊB {,WJuQɲRI;9QE琯62fT.DUJ;*cP A\ILNj!J۱+O\͔]ޒS߼Jȧc%ANolՎprULZԛerE2=XDXgVQeӓk yP7U*omQIs,K`)6\G3t?pgjrmۛجwluGtfh9uyP0D;Uڽ"OXlif$)&|ML0Zrm1[HXPlPR0'G=i2N+0e2]]9VTPO׮7h(F*癈'=QVZDF,d߬~TX G[`le69CR(!S2!P <0x<!1AQ "Raq02Br#SCTb ?Ζ"]mH5WR7k.ۛ!}Q~+yԏz|@T20S~Kek *zFf^2X*(@8r?CIuI|֓>^ExLgNUY+{.RѪ τV׸YTD I62'8Y27'\TP.6d&˦@Vqi|8-OΕ]ʔ U=TL8=;6c| !qfF3aů&~$l}'NWUs$Uk^SV:U# 6w++s&r+nڐ{@29 gL u"TÙM=6(^"7r}=6YݾlCuhquympǦ GjhsǜNlɻ}o7#S6aw4!OSrD57%|?x>L |/nD6?/8w#[)L7+6〼T ATg!%5MmZ/c-{1_Je"|^$'O&ޱմTrb$w)R$& N1EtdU3Uȉ1pM"N*(DNyd96.(jQ)X 5cQɎMyW?Q*!R>6=7)Xj5`J]e8%t!+'!1Q5 !1 AQaqё#2"0BRb?Gt^## .llQT $v,,m㵜5ubV =sY+@d{N! dnO<.-B;_wJt6;QJd.Qc%p{ 1,sNDdFHI0ГoXшe黅XۢF:)[FGXƹ/w_cMeD,ʡcc.WDtA$j@:) -# u c1<@ۗ9F)KJ-hpP]_x[qBlbpʖw q"LFGdƶ*s+ډ_Zc"?%t[IP 6J]#=ɺVvvCGsGh1 >)6|ey?Lӣm,4GWUi`]uJVoVDG< SB6ϏQ@ TiUlyOU0kfV~~}SZ@*WUUi##; s/[=!7}"WN]'(L! ~y5g9T̅JkbM' +s:S +B)v@Mj e Cf jE 0Y\QnzG1д~Wo{T9?`Rmyhsy3!HAD]mc1~2LSu7xT;j$`}4->L#vzŏILS ֭T{rjGKC;bpU=-`BsK.SFw4Mq]ZdHS0)tLg