.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-CONFIG" "1" "07/20/2007" "Git 1.5.3.rc2.22.g69a9b" "Git Manual"
+.TH "GIT\-CONFIG" "1" "07/22/2007" "Git 1.5.3.rc2.29.gc4640" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
In addition to \fI.gitignore\fR (per\-directory) and \fI.git/info/exclude\fR, git looks into this file for patterns of files which are not meant to be tracked. See \fBgitignore\fR(5).
.TP
core.editor
-Commands such as commit and tag that lets you edit messages by lauching an editor uses the value of this variable when it is set, and the environment variable GIT_EDITOR is not set. The order of preference is GIT_EDITOR environment, core.editor, EDITOR and VISUAL environment variables and then finally vi.
+Commands such as commit and tag that lets you edit messages by lauching an editor uses the value of this variable when it is set, and the environment variable GIT_EDITOR is not set. The order of preference is GIT_EDITOR environment, core.editor, VISUAL and EDITOR environment variables and then finally vi.
.TP
core.pager
The command that git will use to paginate output. Can be overridden with the GIT_PAGER environment variable.
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GIT\-REV\-LIST" "1" "07/19/2007" "Git 1.5.3.rc1.16.g9d6f" "Git Manual"
+.TH "GIT\-REV\-LIST" "1" "07/22/2007" "Git 1.5.3.rc2.29.gc4640" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
[ \-\-cherry\-pick ]
[ \-\-encoding[=<encoding>] ]
[ \-\-(author|committer|grep)=<pattern> ]
- [ \-\-regexp\-ignore\-case ] [ \-\-extended\-regexp ]
+ [ \-\-regexp\-ignore\-case | \\\-i ]
+ [ \-\-extended\-regexp | \\\-E ]
[ \-\-date={local|relative|default|iso|rfc|short} ]
[ [\-\-objects | \-\-objects\-edge] [ \-\-unpacked ] ]
[ \-\-pretty | \-\-header ]
Commits which are stated with a preceding \fI^\fR cause listing to stop at that point. Their parents are implied. Thus the following command:
.sp
.nf
+.ft C
$ git\-rev\-list foo bar ^baz
+.ft
+
.fi
means "list all the commits which are included in \fIfoo\fR and \fIbar\fR, but not in \fIbaz\fR".
A special notation "\fI<commit1>\fR..\fI<commit2>\fR" can be used as a short\-hand for "^\fI<commit1>\fR \fI<commit2>\fR". For example, either of the following may be used interchangeably:
.sp
.nf
+.ft C
$ git\-rev\-list origin..HEAD
$ git\-rev\-list HEAD ^origin
+.ft
+
.fi
Another special notation is "\fI<commit1>\fR\&...\fI<commit2>\fR" which is useful for merges. The resulting set of commits is the symmetric difference between the two operands. The following two commands are equivalent:
.sp
.nf
+.ft C
$ git\-rev\-list A B \-\-not $(git\-merge\-base \-\-all A B)
$ git\-rev\-list A...B
+.ft
+
.fi
\fBgit\-rev\-list\fR(1) is a very essential git program, since it provides the ability to build and traverse commit ancestry graphs. For this reason, it has a lot of different options that enables it to be used by commands as different as \fBgit\-bisect\fR(1) and \fBgit\-repack\fR(1).
.SH "OPTIONS"
For example, if you have this topology:
.sp
.nf
+.ft C
y\-\-\-b\-\-\-b branch B
/ \\ /
/ .
/ / \\
o\-\-\-x\-\-\-a\-\-\-a branch A
+.ft
+
.fi
you would get an output line this:
.sp
.nf
+.ft C
$ git rev\-list \-\-left\-right \-\-boundary \-\-pretty=oneline A...B
>bbbbbbb... 3rd on b
<aaaaaaa... 2nd on a
\-yyyyyyy... 1st on b
\-xxxxxxx... 1st on a
+.ft
+
.fi
.SS "Diff Formatting"
Below are listed options that control the formatting of diff output. Some of them are specific to \fBgit\-rev\-list\fR(1), however other diff options may be given. See \fBgit\-diff\-files\fR(1) for more options.
\-\-grep=\fIpattern\fR
Limit the commits output to ones with log message that matches the specified pattern (regular expression).
.TP
-\-\-regexp\-ignore\-case
+\-i, \-\-regexp\-ignore\-case
Match the regexp limiting patterns without regard to letters case.
.TP
-\-\-extended\-regexp
+\-E, \-\-extended\-regexp
Consider the limiting patterns to be extended regular expressions instead of the default basic regular expressions.
.TP
\-\-remove\-empty
Limit output to the one commit object which is roughly halfway between the included and excluded commits. Thus, if
.sp
.nf
+.ft C
$ git\-rev\-list \-\-bisect foo ^bar ^baz
+.ft
+
.fi
outputs \fImidpoint\fR, the output of the two commands
.sp
.nf
+.ft C
$ git\-rev\-list foo ^midpoint
$ git\-rev\-list midpoint ^bar ^baz
+.ft
+
.fi
would be of roughly the same length. Finding the change which introduces a regression is thus reduced to a binary search: repeatedly generate and test new 'midpoint's until the commit chain is of length one.
.TP
E.g, \fIformat:"The author of %h was %an, %ar%nThe title was >>%s<<%n"\fR would show something like this:
.sp
.nf
+.ft C
The author of fe6e0ee was Junio C Hamano, 23 hours ago
The title was >>t4119: test autocomputing \-p<n> for traditional diff input.<<
+.ft
+
.fi
The placeholders are:
.RS
.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
.\" Instead of manually editing it, you probably should edit the DocBook XML
.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GITIGNORE" "5" "07/19/2007" "Git 1.5.3.rc2.19.gc4fba" "Git Manual"
+.TH "GITIGNORE" "5" "07/22/2007" "Git 1.5.3.rc2.29.gc4640" "Git Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "DESCRIPTION"
A gitignore file specifies intentionally untracked files that git should ignore. Each line in a gitignore file specifies a pattern.
-When deciding whether to ignore a path, git normally checks gitignore patterns from multiple sources, with the following order of precedence:
+When deciding whether to ignore a path, git normally checks gitignore patterns from multiple sources, with the following order of precedence, from highest to lowest (within one level of precedence, the last matching pattern decides the outcome):
.TP 3
\(bu
-Patterns read from the file specified by the configuration variable \fIcore.excludesfile\fR.
+Patterns read from the command line for those commands that support them.
+.TP
+\(bu
+Patterns read from a .gitignore file in the same directory as the path, or in any parent directory, with patterns in the higher level files (up to the root) being overriden by those in lower level files down to the directory containing the file. These patterns match relative to the location of the .gitignore file. A project normally includes such .gitignore files in its repository, containing patterns for files generated as part of the project build.
.TP
\(bu
Patterns read from $GIT_DIR/info/exclude.
.TP
\(bu
-Patterns read from a .gitignore file in the same directory as the path, or in any parent directory, ordered from the deepest such file to a file in the root of the repository. These patterns match relative to the location of the .gitignore file. A project normally includes such .gitignore files in its repository, containing patterns for files generated as part of the project build.
+Patterns read from the file specified by the configuration variable \fIcore.excludesfile\fR.
The underlying git plumbing tools, such as \fBgit\-ls\-files\fR(1) and \fBgit\-read\-tree\fR(1), read gitignore patterns specified by command\-line options, or from files specified by command\-line options. Higher\-level git tools, such as \fBgit\-status\fR(1) and \fBgit\-add\fR(1), use patterns from the sources specified above.
A line starting with # serves as a comment.
.TP
\(bu
-An optional prefix \fI!\fR which negates the pattern; any matching file excluded by a previous pattern will become included again.
+An optional prefix \fI!\fR which negates the pattern; any matching file excluded by a previous pattern will become included again. If a negated pattern matches, this will override lower precedence patterns sources.
.TP
\(bu
If the pattern does not contain a slash \fI/\fR, git treats it as a shell glob pattern and checks for a match against the pathname without leading directories.