Autogenerated HTML docs for v1.6.3.2-202-g26c11
[git/jnareb-git.git] / gitignore.html
blob1c0aeceac3d1ac90045d4491d22c0a8081c4fe6a
1 <!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 8.2.5" />
7 <style type="text/css">
8 /* Debug borders */
9 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
11 border: 1px solid red;
15 body {
16 margin: 1em 5% 1em 5%;
19 a {
20 color: blue;
21 text-decoration: underline;
23 a:visited {
24 color: fuchsia;
27 em {
28 font-style: italic;
31 strong {
32 font-weight: bold;
35 tt {
36 color: navy;
39 h1, 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;
47 h1, h2, h3 {
48 border-bottom: 2px solid silver;
50 h2 {
51 padding-top: 0.5em;
53 h3 {
54 float: left;
56 h3 + * {
57 clear: left;
60 div.sectionbody {
61 font-family: serif;
62 margin-left: 0;
65 hr {
66 border: 1px solid silver;
69 p {
70 margin-top: 0.5em;
71 margin-bottom: 0.5em;
74 pre {
75 padding: 0;
76 margin: 0;
79 span#author {
80 color: #527bbd;
81 font-family: sans-serif;
82 font-weight: bold;
83 font-size: 1.1em;
85 span#email {
87 span#revision {
88 font-family: sans-serif;
91 div#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;
98 div#footer-text {
99 float: left;
100 padding-bottom: 0.5em;
102 div#footer-badges {
103 float: right;
104 padding-bottom: 0.5em;
107 div#preamble,
108 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
109 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
110 div.admonitionblock {
111 margin-right: 10%;
112 margin-top: 1.5em;
113 margin-bottom: 1.5em;
115 div.admonitionblock {
116 margin-top: 2.5em;
117 margin-bottom: 2.5em;
120 div.content { /* Block element content. */
121 padding: 0;
124 /* Block element titles. */
125 div.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;
132 div.title + * {
133 margin-top: 0;
136 td div.title:first-child {
137 margin-top: 0.0em;
139 div.content div.title:first-child {
140 margin-top: 0.0em;
142 div.content + div.title {
143 margin-top: 0.0em;
146 div.sidebarblock > div.content {
147 background: #ffffee;
148 border: 1px solid silver;
149 padding: 0.5em;
152 div.listingblock {
153 margin-right: 0%;
155 div.listingblock > div.content {
156 border: 1px solid silver;
157 background: #f4f4f4;
158 padding: 0.5em;
161 div.quoteblock > div.content {
162 padding-left: 2.0em;
165 div.attribution {
166 text-align: right;
168 div.verseblock + div.attribution {
169 text-align: left;
172 div.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;
180 div.admonitionblock td.content {
181 padding-left: 0.5em;
182 border-left: 2px solid silver;
185 div.exampleblock > div.content {
186 border-left: 2px solid silver;
187 padding: 0.5em;
190 div.verseblock div.content {
191 white-space: pre;
194 div.imageblock div.content { padding-left: 0; }
195 div.imageblock img { border: 1px solid silver; }
196 span.image img { border-style: none; }
198 dl {
199 margin-top: 0.8em;
200 margin-bottom: 0.8em;
202 dt {
203 margin-top: 0.5em;
204 margin-bottom: 0;
205 font-style: italic;
207 dd > *:first-child {
208 margin-top: 0;
211 ul, ol {
212 list-style-position: outside;
214 div.olist2 ol {
215 list-style-type: lower-alpha;
218 div.tableblock > table {
219 border: 3px solid #527bbd;
221 thead {
222 font-family: sans-serif;
223 font-weight: bold;
225 tfoot {
226 font-weight: bold;
229 div.hlist {
230 margin-top: 0.8em;
231 margin-bottom: 0.8em;
233 div.hlist td {
234 padding-bottom: 5px;
236 td.hlist1 {
237 vertical-align: top;
238 font-style: italic;
239 padding-right: 0.8em;
241 td.hlist2 {
242 vertical-align: top;
245 @media print {
246 div#footer-badges { display: none; }
249 div#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;
258 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
259 margin-top: 0;
260 margin-bottom: 0;
262 div.toclevel2 {
263 margin-left: 2em;
264 font-size: 0.9em;
266 div.toclevel3 {
267 margin-left: 4em;
268 font-size: 0.9em;
270 div.toclevel4 {
271 margin-left: 6em;
272 font-size: 0.9em;
274 include1::./stylesheets/xhtml11-manpage.css[]
275 /* Workarounds for IE6's broken and incomplete CSS2. */
277 div.sidebar-content {
278 background: #ffffee;
279 border: 1px solid silver;
280 padding: 0.5em;
282 div.sidebar-title, div.image-title {
283 font-family: sans-serif;
284 font-weight: bold;
285 margin-top: 0.0em;
286 margin-bottom: 0.5em;
289 div.listingblock div.content {
290 border: 1px solid silver;
291 background: #f4f4f4;
292 padding: 0.5em;
295 div.quoteblock-content {
296 padding-left: 2.0em;
299 div.exampleblock-content {
300 border-left: 2px solid silver;
301 padding-left: 0.5em;
304 /* IE6 sets dynamically generated links as visited. */
305 div#toc a:visited { color: blue; }
306 </style>
307 <title>gitignore(5)</title>
308 </head>
309 <body>
310 <div id="header">
311 <h1>
312 gitignore(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">
323 <div class="para"><p>$GIT_DIR/info/exclude, .gitignore</p></div>
324 </div>
325 <h2 id="_description">DESCRIPTION</h2>
326 <div class="sectionbody">
327 <div class="para"><p>A <tt>gitignore</tt> file specifies intentionally untracked files that
328 git should ignore.
329 Note that all the <tt>gitignore</tt> files really concern only files
330 that are not already tracked by git;
331 in order to ignore uncommitted changes in already tracked files,
332 please refer to the <em>git update-index --assume-unchanged</em>
333 documentation.</p></div>
334 <div class="para"><p>Each line in a <tt>gitignore</tt> file specifies a pattern.
335 When deciding whether to ignore a path, git normally checks
336 <tt>gitignore</tt> patterns from multiple sources, with the following
337 order of precedence, from highest to lowest (within one level of
338 precedence, the last matching pattern decides the outcome):</p></div>
339 <div class="ilist"><ul>
340 <li>
342 Patterns read from the command line for those commands that support
343 them.
344 </p>
345 </li>
346 <li>
348 Patterns read from a <tt>.gitignore</tt> file in the same directory
349 as the path, or in any parent directory, with patterns in the
350 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.
352 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.
356 </p>
357 </li>
358 <li>
360 Patterns read from <tt>$GIT_DIR/info/exclude</tt>.
361 </p>
362 </li>
363 <li>
365 Patterns read from the file specified by the configuration
366 variable <em>core.excludesfile</em>.
367 </p>
368 </li>
369 </ul></div>
370 <div class="para"><p>Which file to place a pattern in depends on how the pattern is meant to
371 be used. Patterns which should be version-controlled and distributed to
372 other repositories via clone (i.e., files that all developers will want
373 to ignore) should go into a <tt>.gitignore</tt> file. Patterns which are
374 specific to a particular repository but which do not need to be shared
375 with other related repositories (e.g., auxiliary files that live inside
376 the repository but are specific to one user's workflow) should go into
377 the <tt>$GIT_DIR/info/exclude</tt> file. Patterns which a user wants git to
378 ignore in all situations (e.g., backup or temporary files generated by
379 the user's editor of choice) generally go into a file specified by
380 <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
383 <tt>gitignore</tt> patterns specified by command-line options, or from
384 files specified by command-line options. Higher-level git
385 tools, such as <em>git-status</em> and <em>git-add</em>,
386 use 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>
389 <li>
391 A blank line matches no files, so it can serve as a separator
392 for readability.
393 </p>
394 </li>
395 <li>
397 A line starting with # serves as a comment.
398 </p>
399 </li>
400 <li>
402 An optional prefix <em>!</em> which negates the pattern; any
403 matching file excluded by a previous pattern will become
404 included again. If a negated pattern matches, this will
405 override lower precedence patterns sources.
406 </p>
407 </li>
408 <li>
410 If 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>
420 If 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>
427 Otherwise, 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>
437 </ul></div>
438 <div class="para"><p>An example:</p></div>
439 <div class="listingblock">
440 <div class="content">
441 <pre><tt> $ git status
442 [...]
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
459 $ git status
460 [...]
461 # Untracked files:
462 [...]
463 # Documentation/foo.html
464 [...]</tt></pre>
465 </div></div>
466 <div class="para"><p>Another example:</p></div>
467 <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>
475 <div class="para"><p>The second .gitignore prevents git from ignoring
476 <tt>arch/foo/kernel/vmlinux.lds.S</tt>.</p></div>
477 </div>
478 <h2 id="_documentation">Documentation</h2>
479 <div class="sectionbody">
480 <div class="para"><p>Documentation by David Greaves, Junio C Hamano, Josh Triplett,
481 Frank Lichtenheld, and the git-list &lt;git@vger.kernel.org&gt;.</p></div>
482 </div>
483 <h2 id="_git">GIT</h2>
484 <div class="sectionbody">
485 <div class="para"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
486 </div>
487 <div id="footer">
488 <div id="footer-text">
489 Last updated 2009-04-08 07:36:13 UTC
490 </div>
491 </div>
492 </body>
493 </html>