blob: 36f952cbcd90b001c9f21e4cb51a6d9fb81913f1 [file] [log] [blame]
Junio C Hamano679d22d2007-06-02 21:13:441<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
2 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
6<meta name="generator" content="AsciiDoc 7.0.2" />
7<style type="text/css">
8/* Debug borders */
9p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
10/*
11 border: 1px solid red;
12*/
13}
14
15body {
16 margin: 1em 5% 1em 5%;
17}
18
19a { color: blue; }
20a:visited { color: fuchsia; }
21
22em {
23 font-style: italic;
24}
25
26strong {
27 font-weight: bold;
28}
29
30tt {
31 color: navy;
32}
33
34h1, h2, h3, h4, h5, h6 {
35 color: #527bbd;
36 font-family: sans-serif;
37 margin-top: 1.2em;
38 margin-bottom: 0.5em;
39 line-height: 1.3;
40}
41
42h1 {
43 border-bottom: 2px solid silver;
44}
45h2 {
46 border-bottom: 2px solid silver;
47 padding-top: 0.5em;
48}
49
50div.sectionbody {
51 font-family: serif;
52 margin-left: 0;
53}
54
55hr {
56 border: 1px solid silver;
57}
58
59p {
60 margin-top: 0.5em;
61 margin-bottom: 0.5em;
62}
63
64pre {
65 padding: 0;
66 margin: 0;
67}
68
69span#author {
70 color: #527bbd;
71 font-family: sans-serif;
72 font-weight: bold;
73 font-size: 1.2em;
74}
75span#email {
76}
77span#revision {
78 font-family: sans-serif;
79}
80
81div#footer {
82 font-family: sans-serif;
83 font-size: small;
84 border-top: 2px solid silver;
85 padding-top: 0.5em;
86 margin-top: 4.0em;
87}
88div#footer-text {
89 float: left;
90 padding-bottom: 0.5em;
91}
92div#footer-badges {
93 float: right;
94 padding-bottom: 0.5em;
95}
96
97div#preamble,
98div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
99div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
100div.admonitionblock {
101 margin-right: 10%;
102 margin-top: 1.5em;
103 margin-bottom: 1.5em;
104}
105div.admonitionblock {
106 margin-top: 2.5em;
107 margin-bottom: 2.5em;
108}
109
110div.content { /* Block element content. */
111 padding: 0;
112}
113
114/* Block element titles. */
115div.title, caption.title {
116 font-family: sans-serif;
117 font-weight: bold;
118 text-align: left;
119 margin-top: 1.0em;
120 margin-bottom: 0.5em;
121}
122div.title + * {
123 margin-top: 0;
124}
125
126td div.title:first-child {
127 margin-top: 0.0em;
128}
129div.content div.title:first-child {
130 margin-top: 0.0em;
131}
132div.content + div.title {
133 margin-top: 0.0em;
134}
135
136div.sidebarblock > div.content {
137 background: #ffffee;
138 border: 1px solid silver;
139 padding: 0.5em;
140}
141
142div.listingblock > div.content {
143 border: 1px solid silver;
144 background: #f4f4f4;
145 padding: 0.5em;
146}
147
148div.quoteblock > div.content {
149 padding-left: 2.0em;
150}
151div.quoteblock .attribution {
152 text-align: right;
153}
154
155div.admonitionblock .icon {
156 vertical-align: top;
157 font-size: 1.1em;
158 font-weight: bold;
159 text-decoration: underline;
160 color: #527bbd;
161 padding-right: 0.5em;
162}
163div.admonitionblock td.content {
164 padding-left: 0.5em;
165 border-left: 2px solid silver;
166}
167
168div.exampleblock > div.content {
169 border-left: 2px solid silver;
170 padding: 0.5em;
171}
172
173div.verseblock div.content {
174 white-space: pre;
175}
176
177div.imageblock div.content { padding-left: 0; }
178div.imageblock img { border: 1px solid silver; }
179span.image img { border-style: none; }
180
181dl {
182 margin-top: 0.8em;
183 margin-bottom: 0.8em;
184}
185dt {
186 margin-top: 0.5em;
187 margin-bottom: 0;
188 font-style: italic;
189}
190dd > *:first-child {
191 margin-top: 0;
192}
193
194ul, ol {
195 list-style-position: outside;
196}
197ol.olist2 {
198 list-style-type: lower-alpha;
199}
200
201div.tableblock > table {
202 border-color: #527bbd;
203 border-width: 3px;
204}
205thead {
206 font-family: sans-serif;
207 font-weight: bold;
208}
209tfoot {
210 font-weight: bold;
211}
212
213div.hlist {
214 margin-top: 0.8em;
215 margin-bottom: 0.8em;
216}
217td.hlist1 {
218 vertical-align: top;
219 font-style: italic;
220 padding-right: 0.8em;
221}
222td.hlist2 {
223 vertical-align: top;
224}
225
226@media print {
227 div#footer-badges { display: none; }
228}
229include::./stylesheets/xhtml11-manpage.css[]
230/* Workarounds for IE6's broken and incomplete CSS2. */
231
232div.sidebar-content {
233 background: #ffffee;
234 border: 1px solid silver;
235 padding: 0.5em;
236}
237div.sidebar-title, div.image-title {
238 font-family: sans-serif;
239 font-weight: bold;
240 margin-top: 0.0em;
241 margin-bottom: 0.5em;
242}
243
244div.listingblock div.content {
245 border: 1px solid silver;
246 background: #f4f4f4;
247 padding: 0.5em;
248}
249
250div.quoteblock-content {
251 padding-left: 2.0em;
252}
253
254div.exampleblock-content {
255 border-left: 2px solid silver;
256 padding-left: 0.5em;
257}
258</style>
259<title>gitignore(5)</title>
260</head>
261<body>
262<div id="header">
263<h1>
264gitignore(5) Manual Page
265</h1>
266<h2>NAME</h2>
267<div class="sectionbody">
268<p>gitignore -
269 Specifies intentionally untracked files to ignore
270</p>
271</div>
272</div>
273<h2>SYNOPSIS</h2>
274<div class="sectionbody">
275<p>$GIT_DIR/info/exclude, .gitignore</p>
276</div>
277<h2>DESCRIPTION</h2>
278<div class="sectionbody">
279<p>A <tt>gitignore</tt> file specifies intentionally untracked files that
280git should ignore. Each line in a <tt>gitignore</tt> file specifies a
281pattern.</p>
282<p>When deciding whether to ignore a path, git normally checks
283<tt>gitignore</tt> patterns from multiple sources, with the following
Junio C Hamanode9879a2007-07-22 09:33:42284order of precedence, from highest to lowest (within one level of
285precedence, the last matching pattern decides the outcome):</p>
Junio C Hamano679d22d2007-06-02 21:13:44286<ul>
287<li>
288<p>
Junio C Hamanode9879a2007-07-22 09:33:42289Patterns read from the command line for those commands that support
290 them.
291</p>
292</li>
293<li>
294<p>
295Patterns read from a <tt>.gitignore</tt> file in the same directory
296 as the path, or in any parent directory, with patterns in the
Junio C Hamano4fd58d42007-09-30 00:51:14297 higher level files (up to the root) being overridden by those in
Junio C Hamanode9879a2007-07-22 09:33:42298 lower level files down to the directory containing the file.
299 These patterns match relative to the location of the
300 <tt>.gitignore</tt> file. A project normally includes such
301 <tt>.gitignore</tt> files in its repository, containing patterns for
302 files generated as part of the project build.
Junio C Hamano679d22d2007-06-02 21:13:44303</p>
304</li>
305<li>
306<p>
307Patterns read from <tt>$GIT_DIR/info/exclude</tt>.
308</p>
309</li>
310<li>
311<p>
Junio C Hamanode9879a2007-07-22 09:33:42312Patterns read from the file specified by the configuration
313 variable <em>core.excludesfile</em>.
Junio C Hamano679d22d2007-06-02 21:13:44314</p>
315</li>
316</ul>
317<p>The underlying git plumbing tools, such as
318<a href="git-ls-files.html">git-ls-files(1)</a> and <a href="git-read-tree.html">git-read-tree(1)</a>, read
319<tt>gitignore</tt> patterns specified by command-line options, or from
320files specified by command-line options. Higher-level git
321tools, such as <a href="git-status.html">git-status(1)</a> and <a href="git-add.html">git-add(1)</a>,
322use patterns from the sources specified above.</p>
323<p>Patterns have the following format:</p>
324<ul>
325<li>
326<p>
327A blank line matches no files, so it can serve as a separator
328 for readability.
329</p>
330</li>
331<li>
332<p>
333A line starting with # serves as a comment.
334</p>
335</li>
336<li>
337<p>
338An optional prefix <em>!</em> which negates the pattern; any
339 matching file excluded by a previous pattern will become
Junio C Hamanode9879a2007-07-22 09:33:42340 included again. If a negated pattern matches, this will
341 override lower precedence patterns sources.
Junio C Hamano679d22d2007-06-02 21:13:44342</p>
343</li>
344<li>
345<p>
Junio C Hamano26e590a2008-02-17 03:53:51346If the pattern ends with a slash, it is removed for the
347 purpose of the following description, but it would only find
348 a match with a directory. In other words, <tt>foo/</tt> will match a
349 directory <tt>foo</tt> and paths underneath it, but will not match a
350 regular file or a symbolic link <tt>foo</tt> (this is consistent
351 with the way how pathspec works in general in git).
352</p>
353</li>
354<li>
355<p>
Junio C Hamano679d22d2007-06-02 21:13:44356If the pattern does not contain a slash <em>/</em>, git treats it as
357 a shell glob pattern and checks for a match against the
358 pathname without leading directories.
359</p>
360</li>
361<li>
362<p>
363Otherwise, git treats the pattern as a shell glob suitable
364 for consumption by fnmatch(3) with the FNM_PATHNAME flag:
365 wildcards in the pattern will not match a / in the pathname.
366 For example, "Documentation/*.html" matches
367 "Documentation/git.html" but not
368 "Documentation/ppc/ppc.html". A leading slash matches the
369 beginning of the pathname; for example, "/*.c" matches
370 "cat-file.c" but not "mozilla-sha1/sha1.c".
371</p>
372</li>
373</ul>
374<p>An example:</p>
375<div class="listingblock">
376<div class="content">
377<pre><tt> $ git-status
378 [...]
379 # Untracked files:
380 [...]
381 # Documentation/foo.html
382 # Documentation/gitignore.html
383 # file.o
384 # lib.a
385 # src/internal.o
386 [...]
387 $ cat .git/info/exclude
388 # ignore objects and archives, anywhere in the tree.
389 *.[oa]
390 $ cat Documentation/.gitignore
391 # ignore generated html files,
392 *.html
393 # except foo.html which is maintained by hand
394 !foo.html
395 $ git-status
396 [...]
397 # Untracked files:
398 [...]
399 # Documentation/foo.html
400 [...]</tt></pre>
401</div></div>
402<p>Another example:</p>
403<div class="listingblock">
404<div class="content">
405<pre><tt> $ cat .gitignore
406 vmlinux*
407 $ ls arch/foo/kernel/vm*
408 arch/foo/kernel/vmlinux.lds.S
409 $ echo '!/vmlinux*' &gt;arch/foo/kernel/.gitignore</tt></pre>
410</div></div>
411<p>The second .gitignore prevents git from ignoring
412<tt>arch/foo/kernel/vmlinux.lds.S</tt>.</p>
413</div>
414<h2>Documentation</h2>
415<div class="sectionbody">
416<p>Documentation by David Greaves, Junio C Hamano, Josh Triplett,
417Frank Lichtenheld, and the git-list &lt;git@vger.kernel.org&gt;.</p>
418</div>
419<h2>GIT</h2>
420<div class="sectionbody">
421<p>Part of the <a href="git.html">git(7)</a> suite</p>
422</div>
423<div id="footer">
424<div id="footer-text">
Junio C Hamano26e590a2008-02-17 03:53:51425Last updated 17-Feb-2008 03:50:09 UTC
Junio C Hamano679d22d2007-06-02 21:13:44426</div>
427</div>
428</body>
429</html>