blob: 71d43f2d20e447f3519ec3423120864a8dab14d7 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="generator" content="AsciiDoc 7.0.2" />
<style type="text/css">
/* Debug borders */
p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
/*
border: 1px solid red;
*/
}
body {
margin: 1em 5% 1em 5%;
}
a { color: blue; }
a:visited { color: fuchsia; }
em {
font-style: italic;
}
strong {
font-weight: bold;
}
tt {
color: navy;
}
h1, h2, h3, h4, h5, h6 {
color: #527bbd;
font-family: sans-serif;
margin-top: 1.2em;
margin-bottom: 0.5em;
line-height: 1.3;
}
h1 {
border-bottom: 2px solid silver;
}
h2 {
border-bottom: 2px solid silver;
padding-top: 0.5em;
}
div.sectionbody {
font-family: serif;
margin-left: 0;
}
hr {
border: 1px solid silver;
}
p {
margin-top: 0.5em;
margin-bottom: 0.5em;
}
pre {
padding: 0;
margin: 0;
}
span#author {
color: #527bbd;
font-family: sans-serif;
font-weight: bold;
font-size: 1.2em;
}
span#email {
}
span#revision {
font-family: sans-serif;
}
div#footer {
font-family: sans-serif;
font-size: small;
border-top: 2px solid silver;
padding-top: 0.5em;
margin-top: 4.0em;
}
div#footer-text {
float: left;
padding-bottom: 0.5em;
}
div#footer-badges {
float: right;
padding-bottom: 0.5em;
}
div#preamble,
div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
margin-right: 10%;
margin-top: 1.5em;
margin-bottom: 1.5em;
}
div.admonitionblock {
margin-top: 2.5em;
margin-bottom: 2.5em;
}
div.content { /* Block element content. */
padding: 0;
}
/* Block element titles. */
div.title, caption.title {
font-family: sans-serif;
font-weight: bold;
text-align: left;
margin-top: 1.0em;
margin-bottom: 0.5em;
}
div.title + * {
margin-top: 0;
}
td div.title:first-child {
margin-top: 0.0em;
}
div.content div.title:first-child {
margin-top: 0.0em;
}
div.content + div.title {
margin-top: 0.0em;
}
div.sidebarblock > div.content {
background: #ffffee;
border: 1px solid silver;
padding: 0.5em;
}
div.listingblock > div.content {
border: 1px solid silver;
background: #f4f4f4;
padding: 0.5em;
}
div.quoteblock > div.content {
padding-left: 2.0em;
}
div.quoteblock .attribution {
text-align: right;
}
div.admonitionblock .icon {
vertical-align: top;
font-size: 1.1em;
font-weight: bold;
text-decoration: underline;
color: #527bbd;
padding-right: 0.5em;
}
div.admonitionblock td.content {
padding-left: 0.5em;
border-left: 2px solid silver;
}
div.exampleblock > div.content {
border-left: 2px solid silver;
padding: 0.5em;
}
div.verseblock div.content {
white-space: pre;
}
div.imageblock div.content { padding-left: 0; }
div.imageblock img { border: 1px solid silver; }
span.image img { border-style: none; }
dl {
margin-top: 0.8em;
margin-bottom: 0.8em;
}
dt {
margin-top: 0.5em;
margin-bottom: 0;
font-style: italic;
}
dd > *:first-child {
margin-top: 0;
}
ul, ol {
list-style-position: outside;
}
ol.olist2 {
list-style-type: lower-alpha;
}
div.tableblock > table {
border-color: #527bbd;
border-width: 3px;
}
thead {
font-family: sans-serif;
font-weight: bold;
}
tfoot {
font-weight: bold;
}
div.hlist {
margin-top: 0.8em;
margin-bottom: 0.8em;
}
td.hlist1 {
vertical-align: top;
font-style: italic;
padding-right: 0.8em;
}
td.hlist2 {
vertical-align: top;
}
@media print {
div#footer-badges { display: none; }
}
include::./stylesheets/xhtml11-manpage.css[]
/* Workarounds for IE6's broken and incomplete CSS2. */
div.sidebar-content {
background: #ffffee;
border: 1px solid silver;
padding: 0.5em;
}
div.sidebar-title, div.image-title {
font-family: sans-serif;
font-weight: bold;
margin-top: 0.0em;
margin-bottom: 0.5em;
}
div.listingblock div.content {
border: 1px solid silver;
background: #f4f4f4;
padding: 0.5em;
}
div.quoteblock-content {
padding-left: 2.0em;
}
div.exampleblock-content {
border-left: 2px solid silver;
padding-left: 0.5em;
}
</style>
<title>gitignore(5)</title>
</head>
<body>
<div id="header">
<h1>
gitignore(5) Manual Page
</h1>
<h2>NAME</h2>
<div class="sectionbody">
<p>gitignore -
Specifies intentionally untracked files to ignore
</p>
</div>
</div>
<h2>SYNOPSIS</h2>
<div class="sectionbody">
<p>$GIT_DIR/info/exclude, .gitignore</p>
</div>
<h2>DESCRIPTION</h2>
<div class="sectionbody">
<p>A <tt>gitignore</tt> file specifies intentionally untracked files that
git should ignore. Each line in a <tt>gitignore</tt> file specifies a
pattern.</p>
<p>When deciding whether to ignore a path, git normally checks
<tt>gitignore</tt> patterns from multiple sources, with the following
order of precedence:</p>
<ul>
<li>
<p>
Patterns read from the file specified by the configuration
variable <em>core.excludesfile</em>.
</p>
</li>
<li>
<p>
Patterns read from <tt>$GIT_DIR/info/exclude</tt>.
</p>
</li>
<li>
<p>
Patterns read from a <tt>.gitignore</tt> 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
<tt>.gitignore</tt> file. A project normally includes such
<tt>.gitignore</tt> files in its repository, containing patterns for
files generated as part of the project build.
</p>
</li>
</ul>
<p>The underlying git plumbing tools, such as
<a href="git-ls-files.html">git-ls-files(1)</a> and <a href="git-read-tree.html">git-read-tree(1)</a>, read
<tt>gitignore</tt> patterns specified by command-line options, or from
files specified by command-line options. Higher-level git
tools, such as <a href="git-status.html">git-status(1)</a> and <a href="git-add.html">git-add(1)</a>,
use patterns from the sources specified above.</p>
<p>Patterns have the following format:</p>
<ul>
<li>
<p>
A blank line matches no files, so it can serve as a separator
for readability.
</p>
</li>
<li>
<p>
A line starting with # serves as a comment.
</p>
</li>
<li>
<p>
An optional prefix <em>!</em> which negates the pattern; any
matching file excluded by a previous pattern will become
included again.
</p>
</li>
<li>
<p>
If the pattern does not contain a slash <em>/</em>, git treats it as
a shell glob pattern and checks for a match against the
pathname without leading directories.
</p>
</li>
<li>
<p>
Otherwise, git treats the pattern as a shell glob suitable
for consumption by fnmatch(3) with the FNM_PATHNAME flag:
wildcards in the pattern will not match a / in the pathname.
For example, "Documentation/*.html" matches
"Documentation/git.html" but not
"Documentation/ppc/ppc.html". A leading slash matches the
beginning of the pathname; for example, "/*.c" matches
"cat-file.c" but not "mozilla-sha1/sha1.c".
</p>
</li>
</ul>
<p>An example:</p>
<div class="listingblock">
<div class="content">
<pre><tt> $ git-status
[...]
# Untracked files:
[...]
# Documentation/foo.html
# Documentation/gitignore.html
# file.o
# lib.a
# src/internal.o
[...]
$ cat .git/info/exclude
# ignore objects and archives, anywhere in the tree.
*.[oa]
$ cat Documentation/.gitignore
# ignore generated html files,
*.html
# except foo.html which is maintained by hand
!foo.html
$ git-status
[...]
# Untracked files:
[...]
# Documentation/foo.html
[...]</tt></pre>
</div></div>
<p>Another example:</p>
<div class="listingblock">
<div class="content">
<pre><tt> $ cat .gitignore
vmlinux*
$ ls arch/foo/kernel/vm*
arch/foo/kernel/vmlinux.lds.S
$ echo '!/vmlinux*' &gt;arch/foo/kernel/.gitignore</tt></pre>
</div></div>
<p>The second .gitignore prevents git from ignoring
<tt>arch/foo/kernel/vmlinux.lds.S</tt>.</p>
</div>
<h2>Documentation</h2>
<div class="sectionbody">
<p>Documentation by David Greaves, Junio C Hamano, Josh Triplett,
Frank Lichtenheld, and the git-list &lt;git@vger.kernel.org&gt;.</p>
</div>
<h2>GIT</h2>
<div class="sectionbody">
<p>Part of the <a href="git.html">git(7)</a> suite</p>
</div>
<div id="footer">
<div id="footer-text">
Last updated 02-Jun-2007 21:10:18 UTC
</div>
</div>
</body>
</html>