You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
191 lines
5.3 KiB
191 lines
5.3 KiB
git-log(1) |
|
========== |
|
|
|
NAME |
|
---- |
|
git-log - Show commit logs |
|
|
|
|
|
SYNOPSIS |
|
-------- |
|
'git log' [<options>] [<since>..<until>] [[\--] <path>...] |
|
|
|
DESCRIPTION |
|
----------- |
|
Shows the commit logs. |
|
|
|
The command takes options applicable to the 'git rev-list' |
|
command to control what is shown and how, and options applicable to |
|
the 'git diff-*' commands to control how the changes |
|
each commit introduces are shown. |
|
|
|
|
|
OPTIONS |
|
------- |
|
|
|
-<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 linkgit:gitrevisions[1]. |
|
|
|
--follow:: |
|
Continue listing the history of a file beyond renames |
|
(works only for a single file). |
|
|
|
--no-decorate:: |
|
--decorate[=short|full|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. The default option |
|
is 'short'. |
|
|
|
--source:: |
|
Print out the ref name given on the command line by which each |
|
commit was reached. |
|
|
|
--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. |
|
|
|
--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. |
|
|
|
[\--] <path>...:: |
|
Show only commits that affect any of the specified paths. To |
|
prevent confusion with options and branch names, paths may need |
|
to be prefixed with "\-- " to separate them from options or |
|
refnames. |
|
|
|
Common diff options |
|
~~~~~~~~~~~~~~~~~~~ |
|
|
|
:git-log: 1 |
|
include::diff-options.txt[] |
|
|
|
include::rev-list-options.txt[] |
|
|
|
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. |
|
|
|
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. |
|
|
|
|
|
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, UTF-8 |
|
otherwise. |
|
|
|
log.date:: |
|
Default format for human-readable dates. (Compare the |
|
`--date` option.) Defaults to "default", which means to write |
|
dates like `Sat May 8 19:35:34 2010 -0500`. |
|
|
|
log.showroot:: |
|
If `false`, 'git log' and related commands will not treat the |
|
initial commit as a big creation event. Any root commits in |
|
`git log -p` output would be shown without a diff attached. |
|
The default is `true`. |
|
|
|
mailmap.file:: |
|
See linkgit:git-shortlog[1]. |
|
|
|
notes.displayRef:: |
|
Which refs, in addition to the default set by `core.notesRef` |
|
or 'GIT_NOTES_REF', to read notes from when showing commit |
|
messages with the 'log' family of commands. See |
|
linkgit:git-notes[1]. |
|
+ |
|
May be an unabbreviated ref name or a glob and may be specified |
|
multiple times. A warning will be issued for refs that do not exist, |
|
but a glob that does not match any refs is silently ignored. |
|
+ |
|
This setting can be disabled by the `--no-standard-notes` option, |
|
overridden by the 'GIT_NOTES_DISPLAY_REF' environment variable, |
|
and supplemented by the `--show-notes` option. |
|
|
|
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 linkgit:git[1] suite
|
|
|