blob: 7789a495411dd2cd3be90b57f24a311bd50727b9 [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" />
Junio C Hamanoba4b9282008-07-06 05:20:316<meta name="generator" content="AsciiDoc 8.2.5" />
Junio C Hamano679d22d2007-06-02 21:13:447<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
Junio C Hamanoba4b9282008-07-06 05:20:3119a {
20 color: blue;
21 text-decoration: underline;
22}
23a:visited {
24 color: fuchsia;
25}
Junio C Hamano679d22d2007-06-02 21:13:4426
27em {
28 font-style: italic;
29}
30
31strong {
32 font-weight: bold;
33}
34
35tt {
36 color: navy;
37}
38
39h1, h2, h3, h4, h5, h6 {
40 color: #527bbd;
41 font-family: sans-serif;
42 margin-top: 1.2em;
43 margin-bottom: 0.5em;
44 line-height: 1.3;
45}
46
Junio C Hamanoba4b9282008-07-06 05:20:3147h1, h2, h3 {
Junio C Hamano679d22d2007-06-02 21:13:4448 border-bottom: 2px solid silver;
49}
50h2 {
Junio C Hamano679d22d2007-06-02 21:13:4451 padding-top: 0.5em;
52}
Junio C Hamanoba4b9282008-07-06 05:20:3153h3 {
54 float: left;
55}
56h3 + * {
57 clear: left;
58}
Junio C Hamano679d22d2007-06-02 21:13:4459
60div.sectionbody {
61 font-family: serif;
62 margin-left: 0;
63}
64
65hr {
66 border: 1px solid silver;
67}
68
69p {
70 margin-top: 0.5em;
71 margin-bottom: 0.5em;
72}
73
74pre {
75 padding: 0;
76 margin: 0;
77}
78
79span#author {
80 color: #527bbd;
81 font-family: sans-serif;
82 font-weight: bold;
Junio C Hamanoba4b9282008-07-06 05:20:3183 font-size: 1.1em;
Junio C Hamano679d22d2007-06-02 21:13:4484}
85span#email {
86}
87span#revision {
88 font-family: sans-serif;
89}
90
91div#footer {
92 font-family: sans-serif;
93 font-size: small;
94 border-top: 2px solid silver;
95 padding-top: 0.5em;
96 margin-top: 4.0em;
97}
98div#footer-text {
99 float: left;
100 padding-bottom: 0.5em;
101}
102div#footer-badges {
103 float: right;
104 padding-bottom: 0.5em;
105}
106
107div#preamble,
108div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
109div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
110div.admonitionblock {
111 margin-right: 10%;
112 margin-top: 1.5em;
113 margin-bottom: 1.5em;
114}
115div.admonitionblock {
116 margin-top: 2.5em;
117 margin-bottom: 2.5em;
118}
119
120div.content { /* Block element content. */
121 padding: 0;
122}
123
124/* Block element titles. */
125div.title, caption.title {
126 font-family: sans-serif;
127 font-weight: bold;
128 text-align: left;
129 margin-top: 1.0em;
130 margin-bottom: 0.5em;
131}
132div.title + * {
133 margin-top: 0;
134}
135
136td div.title:first-child {
137 margin-top: 0.0em;
138}
139div.content div.title:first-child {
140 margin-top: 0.0em;
141}
142div.content + div.title {
143 margin-top: 0.0em;
144}
145
146div.sidebarblock > div.content {
147 background: #ffffee;
148 border: 1px solid silver;
149 padding: 0.5em;
150}
151
Junio C Hamanoba4b9282008-07-06 05:20:31152div.listingblock {
153 margin-right: 0%;
154}
Junio C Hamano679d22d2007-06-02 21:13:44155div.listingblock > div.content {
156 border: 1px solid silver;
157 background: #f4f4f4;
158 padding: 0.5em;
159}
160
161div.quoteblock > div.content {
162 padding-left: 2.0em;
163}
Junio C Hamanoba4b9282008-07-06 05:20:31164
165div.attribution {
Junio C Hamano679d22d2007-06-02 21:13:44166 text-align: right;
167}
Junio C Hamanoba4b9282008-07-06 05:20:31168div.verseblock + div.attribution {
169 text-align: left;
170}
Junio C Hamano679d22d2007-06-02 21:13:44171
172div.admonitionblock .icon {
173 vertical-align: top;
174 font-size: 1.1em;
175 font-weight: bold;
176 text-decoration: underline;
177 color: #527bbd;
178 padding-right: 0.5em;
179}
180div.admonitionblock td.content {
181 padding-left: 0.5em;
182 border-left: 2px solid silver;
183}
184
185div.exampleblock > div.content {
186 border-left: 2px solid silver;
187 padding: 0.5em;
188}
189
190div.verseblock div.content {
191 white-space: pre;
192}
193
194div.imageblock div.content { padding-left: 0; }
195div.imageblock img { border: 1px solid silver; }
196span.image img { border-style: none; }
197
198dl {
199 margin-top: 0.8em;
200 margin-bottom: 0.8em;
201}
202dt {
203 margin-top: 0.5em;
204 margin-bottom: 0;
205 font-style: italic;
206}
207dd > *:first-child {
208 margin-top: 0;
209}
210
211ul, ol {
212 list-style-position: outside;
213}
Junio C Hamanoba4b9282008-07-06 05:20:31214div.olist2 ol {
Junio C Hamano679d22d2007-06-02 21:13:44215 list-style-type: lower-alpha;
216}
217
218div.tableblock > table {
Junio C Hamanoba4b9282008-07-06 05:20:31219 border: 3px solid #527bbd;
Junio C Hamano679d22d2007-06-02 21:13:44220}
221thead {
222 font-family: sans-serif;
223 font-weight: bold;
224}
225tfoot {
226 font-weight: bold;
227}
228
229div.hlist {
230 margin-top: 0.8em;
231 margin-bottom: 0.8em;
232}
Junio C Hamanoba4b9282008-07-06 05:20:31233div.hlist td {
234 padding-bottom: 5px;
235}
Junio C Hamano679d22d2007-06-02 21:13:44236td.hlist1 {
237 vertical-align: top;
238 font-style: italic;
239 padding-right: 0.8em;
240}
241td.hlist2 {
242 vertical-align: top;
243}
244
245@media print {
246 div#footer-badges { display: none; }
247}
Junio C Hamanoba4b9282008-07-06 05:20:31248
249div#toctitle {
250 color: #527bbd;
251 font-family: sans-serif;
252 font-size: 1.1em;
253 font-weight: bold;
254 margin-top: 1.0em;
255 margin-bottom: 0.1em;
256}
257
258div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
259 margin-top: 0;
260 margin-bottom: 0;
261}
262div.toclevel2 {
263 margin-left: 2em;
264 font-size: 0.9em;
265}
266div.toclevel3 {
267 margin-left: 4em;
268 font-size: 0.9em;
269}
270div.toclevel4 {
271 margin-left: 6em;
272 font-size: 0.9em;
273}
274include1::./stylesheets/xhtml11-manpage.css[]
Junio C Hamano679d22d2007-06-02 21:13:44275/* Workarounds for IE6's broken and incomplete CSS2. */
276
277div.sidebar-content {
278 background: #ffffee;
279 border: 1px solid silver;
280 padding: 0.5em;
281}
282div.sidebar-title, div.image-title {
283 font-family: sans-serif;
284 font-weight: bold;
285 margin-top: 0.0em;
286 margin-bottom: 0.5em;
287}
288
289div.listingblock div.content {
290 border: 1px solid silver;
291 background: #f4f4f4;
292 padding: 0.5em;
293}
294
295div.quoteblock-content {
296 padding-left: 2.0em;
297}
298
299div.exampleblock-content {
300 border-left: 2px solid silver;
301 padding-left: 0.5em;
302}
Junio C Hamanoba4b9282008-07-06 05:20:31303
304/* IE6 sets dynamically generated links as visited. */
305div#toc a:visited { color: blue; }
Junio C Hamano679d22d2007-06-02 21:13:44306</style>
307<title>gitignore(5)</title>
308</head>
309<body>
310<div id="header">
311<h1>
312gitignore(5) Manual Page
313</h1>
314<h2>NAME</h2>
315<div class="sectionbody">
316<p>gitignore -
317 Specifies intentionally untracked files to ignore
318</p>
319</div>
320</div>
321<h2>SYNOPSIS</h2>
322<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31323<div class="para"><p>$GIT_DIR/info/exclude, .gitignore</p></div>
Junio C Hamano679d22d2007-06-02 21:13:44324</div>
Junio C Hamanoba4b9282008-07-06 05:20:31325<h2 id="_description">DESCRIPTION</h2>
Junio C Hamano679d22d2007-06-02 21:13:44326<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31327<div class="para"><p>A <tt>gitignore</tt> file specifies intentionally untracked files that
Junio C Hamano915cd9b2008-07-20 01:24:17328git should ignore.
329Note that all the <tt>gitignore</tt> files really concern only files
330that are not already tracked by git;
331in order to ignore uncommitted changes in already tracked files,
332please refer to the <em>git update-index --assume-unchanged</em>
333documentation.</p></div>
334<div class="para"><p>Each line in a <tt>gitignore</tt> file specifies a pattern.
335When deciding whether to ignore a path, git normally checks
Junio C Hamano679d22d2007-06-02 21:13:44336<tt>gitignore</tt> patterns from multiple sources, with the following
Junio C Hamanode9879a2007-07-22 09:33:42337order of precedence, from highest to lowest (within one level of
Junio C Hamanoba4b9282008-07-06 05:20:31338precedence, the last matching pattern decides the outcome):</p></div>
339<div class="ilist"><ul>
Junio C Hamano679d22d2007-06-02 21:13:44340<li>
341<p>
Junio C Hamanode9879a2007-07-22 09:33:42342Patterns read from the command line for those commands that support
343 them.
344</p>
345</li>
346<li>
347<p>
348Patterns read from a <tt>.gitignore</tt> file in the same directory
349 as the path, or in any parent directory, with patterns in the
Junio C Hamanob4a9ede2009-04-08 07:36:32350 higher level files (up to the toplevel of the work tree) being overridden
351 by those in lower level files down to the directory containing the file.
Junio C Hamanode9879a2007-07-22 09:33:42352 These patterns match relative to the location of the
353 <tt>.gitignore</tt> file. A project normally includes such
354 <tt>.gitignore</tt> files in its repository, containing patterns for
355 files generated as part of the project build.
Junio C Hamano679d22d2007-06-02 21:13:44356</p>
357</li>
358<li>
359<p>
360Patterns read from <tt>$GIT_DIR/info/exclude</tt>.
361</p>
362</li>
363<li>
364<p>
Junio C Hamanode9879a2007-07-22 09:33:42365Patterns read from the file specified by the configuration
366 variable <em>core.excludesfile</em>.
Junio C Hamano679d22d2007-06-02 21:13:44367</p>
368</li>
Junio C Hamanoba4b9282008-07-06 05:20:31369</ul></div>
370<div class="para"><p>Which file to place a pattern in depends on how the pattern is meant to
Junio C Hamano99dc24a2008-03-27 23:49:50371be used. Patterns which should be version-controlled and distributed to
372other repositories via clone (i.e., files that all developers will want
373to ignore) should go into a <tt>.gitignore</tt> file. Patterns which are
374specific to a particular repository but which do not need to be shared
375with other related repositories (e.g., auxiliary files that live inside
376the repository but are specific to one user's workflow) should go into
377the <tt>$GIT_DIR/info/exclude</tt> file. Patterns which a user wants git to
378ignore in all situations (e.g., backup or temporary files generated by
379the user's editor of choice) generally go into a file specified by
Junio C Hamanoba4b9282008-07-06 05:20:31380<tt>core.excludesfile</tt> in the user's <tt>~/.gitconfig</tt>.</p></div>
381<div class="para"><p>The underlying git plumbing tools, such as
382<em>git-ls-files</em> and <em>git-read-tree</em>, read
Junio C Hamano679d22d2007-06-02 21:13:44383<tt>gitignore</tt> patterns specified by command-line options, or from
384files specified by command-line options. Higher-level git
Junio C Hamanoba4b9282008-07-06 05:20:31385tools, such as <em>git-status</em> and <em>git-add</em>,
386use patterns from the sources specified above.</p></div>
387<div class="para"><p>Patterns have the following format:</p></div>
388<div class="ilist"><ul>
Junio C Hamano679d22d2007-06-02 21:13:44389<li>
390<p>
391A blank line matches no files, so it can serve as a separator
392 for readability.
393</p>
394</li>
395<li>
396<p>
397A line starting with # serves as a comment.
398</p>
399</li>
400<li>
401<p>
402An optional prefix <em>!</em> which negates the pattern; any
403 matching file excluded by a previous pattern will become
Junio C Hamanode9879a2007-07-22 09:33:42404 included again. If a negated pattern matches, this will
405 override lower precedence patterns sources.
Junio C Hamano679d22d2007-06-02 21:13:44406</p>
407</li>
408<li>
409<p>
Junio C Hamano26e590a2008-02-17 03:53:51410If the pattern ends with a slash, it is removed for the
411 purpose of the following description, but it would only find
412 a match with a directory. In other words, <tt>foo/</tt> will match a
413 directory <tt>foo</tt> and paths underneath it, but will not match a
414 regular file or a symbolic link <tt>foo</tt> (this is consistent
415 with the way how pathspec works in general in git).
416</p>
417</li>
418<li>
419<p>
Junio C Hamano679d22d2007-06-02 21:13:44420If the pattern does not contain a slash <em>/</em>, git treats it as
421 a shell glob pattern and checks for a match against the
422 pathname without leading directories.
423</p>
424</li>
425<li>
426<p>
427Otherwise, git treats the pattern as a shell glob suitable
428 for consumption by fnmatch(3) with the FNM_PATHNAME flag:
429 wildcards in the pattern will not match a / in the pathname.
430 For example, "Documentation/*.html" matches
431 "Documentation/git.html" but not
432 "Documentation/ppc/ppc.html". A leading slash matches the
433 beginning of the pathname; for example, "/*.c" matches
434 "cat-file.c" but not "mozilla-sha1/sha1.c".
435</p>
436</li>
Junio C Hamanoba4b9282008-07-06 05:20:31437</ul></div>
438<div class="para"><p>An example:</p></div>
Junio C Hamano679d22d2007-06-02 21:13:44439<div class="listingblock">
440<div class="content">
Junio C Hamanofce7c7e2008-07-02 03:06:38441<pre><tt> $ git status
Junio C Hamano679d22d2007-06-02 21:13:44442 [...]
443 # Untracked files:
444 [...]
445 # Documentation/foo.html
446 # Documentation/gitignore.html
447 # file.o
448 # lib.a
449 # src/internal.o
450 [...]
451 $ cat .git/info/exclude
452 # ignore objects and archives, anywhere in the tree.
453 *.[oa]
454 $ cat Documentation/.gitignore
455 # ignore generated html files,
456 *.html
457 # except foo.html which is maintained by hand
458 !foo.html
Junio C Hamanofce7c7e2008-07-02 03:06:38459 $ git status
Junio C Hamano679d22d2007-06-02 21:13:44460 [...]
461 # Untracked files:
462 [...]
463 # Documentation/foo.html
464 [...]</tt></pre>
465</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31466<div class="para"><p>Another example:</p></div>
Junio C Hamano679d22d2007-06-02 21:13:44467<div class="listingblock">
468<div class="content">
469<pre><tt> $ cat .gitignore
470 vmlinux*
471 $ ls arch/foo/kernel/vm*
472 arch/foo/kernel/vmlinux.lds.S
473 $ echo '!/vmlinux*' &gt;arch/foo/kernel/.gitignore</tt></pre>
474</div></div>
Junio C Hamanoba4b9282008-07-06 05:20:31475<div class="para"><p>The second .gitignore prevents git from ignoring
476<tt>arch/foo/kernel/vmlinux.lds.S</tt>.</p></div>
Junio C Hamano679d22d2007-06-02 21:13:44477</div>
Junio C Hamanoba4b9282008-07-06 05:20:31478<h2 id="_documentation">Documentation</h2>
Junio C Hamano679d22d2007-06-02 21:13:44479<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31480<div class="para"><p>Documentation by David Greaves, Junio C Hamano, Josh Triplett,
481Frank Lichtenheld, and the git-list &lt;git@vger.kernel.org&gt;.</p></div>
Junio C Hamano679d22d2007-06-02 21:13:44482</div>
Junio C Hamanoba4b9282008-07-06 05:20:31483<h2 id="_git">GIT</h2>
Junio C Hamano679d22d2007-06-02 21:13:44484<div class="sectionbody">
Junio C Hamanoba4b9282008-07-06 05:20:31485<div class="para"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
Junio C Hamano679d22d2007-06-02 21:13:44486</div>
487<div id="footer">
488<div id="footer-text">
Junio C Hamano73d812c2009-07-01 02:33:06489Last updated 2009-07-01 02:31:08 UTC
Junio C Hamano679d22d2007-06-02 21:13:44490</div>
491</div>
492</body>
493</html>