Autogenerated HTML docs for v1.7.6-577-g8d918
[git/jnareb-git.git] / gitignore.html
blob3836696d9c24c65695ff684829a0108eb5f99cb0
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.4.5" />
7 <title>gitignore(5)</title>
8 <style type="text/css">
9 /* Debug borders */
10 p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
12 border: 1px solid red;
16 body {
17 margin: 1em 5% 1em 5%;
20 a {
21 color: blue;
22 text-decoration: underline;
24 a:visited {
25 color: fuchsia;
28 em {
29 font-style: italic;
30 color: navy;
33 strong {
34 font-weight: bold;
35 color: #083194;
38 tt {
39 color: navy;
42 h1, h2, h3, h4, h5, h6 {
43 color: #527bbd;
44 font-family: sans-serif;
45 margin-top: 1.2em;
46 margin-bottom: 0.5em;
47 line-height: 1.3;
50 h1, h2, h3 {
51 border-bottom: 2px solid silver;
53 h2 {
54 padding-top: 0.5em;
56 h3 {
57 float: left;
59 h3 + * {
60 clear: left;
63 div.sectionbody {
64 font-family: serif;
65 margin-left: 0;
68 hr {
69 border: 1px solid silver;
72 p {
73 margin-top: 0.5em;
74 margin-bottom: 0.5em;
77 ul, ol, li > p {
78 margin-top: 0;
81 pre {
82 padding: 0;
83 margin: 0;
86 span#author {
87 color: #527bbd;
88 font-family: sans-serif;
89 font-weight: bold;
90 font-size: 1.1em;
92 span#email {
94 span#revnumber, span#revdate, span#revremark {
95 font-family: sans-serif;
98 div#footer {
99 font-family: sans-serif;
100 font-size: small;
101 border-top: 2px solid silver;
102 padding-top: 0.5em;
103 margin-top: 4.0em;
105 div#footer-text {
106 float: left;
107 padding-bottom: 0.5em;
109 div#footer-badges {
110 float: right;
111 padding-bottom: 0.5em;
114 div#preamble {
115 margin-top: 1.5em;
116 margin-bottom: 1.5em;
118 div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
119 div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
120 div.admonitionblock {
121 margin-top: 1.5em;
122 margin-bottom: 1.5em;
124 div.admonitionblock {
125 margin-top: 2.5em;
126 margin-bottom: 2.5em;
129 div.content { /* Block element content. */
130 padding: 0;
133 /* Block element titles. */
134 div.title, caption.title {
135 color: #527bbd;
136 font-family: sans-serif;
137 font-weight: bold;
138 text-align: left;
139 margin-top: 1.0em;
140 margin-bottom: 0.5em;
142 div.title + * {
143 margin-top: 0;
146 td div.title:first-child {
147 margin-top: 0.0em;
149 div.content div.title:first-child {
150 margin-top: 0.0em;
152 div.content + div.title {
153 margin-top: 0.0em;
156 div.sidebarblock > div.content {
157 background: #ffffee;
158 border: 1px solid silver;
159 padding: 0.5em;
162 div.listingblock > div.content {
163 border: 1px solid silver;
164 background: #f4f4f4;
165 padding: 0.5em;
168 div.quoteblock {
169 padding-left: 2.0em;
170 margin-right: 10%;
172 div.quoteblock > div.attribution {
173 padding-top: 0.5em;
174 text-align: right;
177 div.verseblock {
178 padding-left: 2.0em;
179 margin-right: 10%;
181 div.verseblock > div.content {
182 white-space: pre;
184 div.verseblock > div.attribution {
185 padding-top: 0.75em;
186 text-align: left;
188 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
189 div.verseblock + div.attribution {
190 text-align: left;
193 div.admonitionblock .icon {
194 vertical-align: top;
195 font-size: 1.1em;
196 font-weight: bold;
197 text-decoration: underline;
198 color: #527bbd;
199 padding-right: 0.5em;
201 div.admonitionblock td.content {
202 padding-left: 0.5em;
203 border-left: 2px solid silver;
206 div.exampleblock > div.content {
207 border-left: 2px solid silver;
208 padding: 0.5em;
211 div.imageblock div.content { padding-left: 0; }
212 span.image img { border-style: none; }
213 a.image:visited { color: white; }
215 dl {
216 margin-top: 0.8em;
217 margin-bottom: 0.8em;
219 dt {
220 margin-top: 0.5em;
221 margin-bottom: 0;
222 font-style: normal;
223 color: navy;
225 dd > *:first-child {
226 margin-top: 0.1em;
229 ul, ol {
230 list-style-position: outside;
232 ol.arabic {
233 list-style-type: decimal;
235 ol.loweralpha {
236 list-style-type: lower-alpha;
238 ol.upperalpha {
239 list-style-type: upper-alpha;
241 ol.lowerroman {
242 list-style-type: lower-roman;
244 ol.upperroman {
245 list-style-type: upper-roman;
248 div.compact ul, div.compact ol,
249 div.compact p, div.compact p,
250 div.compact div, div.compact div {
251 margin-top: 0.1em;
252 margin-bottom: 0.1em;
255 div.tableblock > table {
256 border: 3px solid #527bbd;
258 thead {
259 font-family: sans-serif;
260 font-weight: bold;
262 tfoot {
263 font-weight: bold;
265 td > div.verse {
266 white-space: pre;
268 p.table {
269 margin-top: 0;
271 /* Because the table frame attribute is overriden by CSS in most browsers. */
272 div.tableblock > table[frame="void"] {
273 border-style: none;
275 div.tableblock > table[frame="hsides"] {
276 border-left-style: none;
277 border-right-style: none;
279 div.tableblock > table[frame="vsides"] {
280 border-top-style: none;
281 border-bottom-style: none;
285 div.hdlist {
286 margin-top: 0.8em;
287 margin-bottom: 0.8em;
289 div.hdlist tr {
290 padding-bottom: 15px;
292 dt.hdlist1.strong, td.hdlist1.strong {
293 font-weight: bold;
295 td.hdlist1 {
296 vertical-align: top;
297 font-style: normal;
298 padding-right: 0.8em;
299 color: navy;
301 td.hdlist2 {
302 vertical-align: top;
304 div.hdlist.compact tr {
305 margin: 0;
306 padding-bottom: 0;
309 .comment {
310 background: yellow;
313 @media print {
314 div#footer-badges { display: none; }
317 div#toctitle {
318 color: #527bbd;
319 font-family: sans-serif;
320 font-size: 1.1em;
321 font-weight: bold;
322 margin-top: 1.0em;
323 margin-bottom: 0.1em;
326 div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
327 margin-top: 0;
328 margin-bottom: 0;
330 div.toclevel2 {
331 margin-left: 2em;
332 font-size: 0.9em;
334 div.toclevel3 {
335 margin-left: 4em;
336 font-size: 0.9em;
338 div.toclevel4 {
339 margin-left: 6em;
340 font-size: 0.9em;
342 /* Overrides for manpage documents */
343 h1 {
344 padding-top: 0.5em;
345 padding-bottom: 0.5em;
346 border-top: 2px solid silver;
347 border-bottom: 2px solid silver;
349 h2 {
350 border-style: none;
352 div.sectionbody {
353 margin-left: 5%;
356 @media print {
357 div#toc { display: none; }
360 /* Workarounds for IE6's broken and incomplete CSS2. */
362 div.sidebar-content {
363 background: #ffffee;
364 border: 1px solid silver;
365 padding: 0.5em;
367 div.sidebar-title, div.image-title {
368 color: #527bbd;
369 font-family: sans-serif;
370 font-weight: bold;
371 margin-top: 0.0em;
372 margin-bottom: 0.5em;
375 div.listingblock div.content {
376 border: 1px solid silver;
377 background: #f4f4f4;
378 padding: 0.5em;
381 div.quoteblock-attribution {
382 padding-top: 0.5em;
383 text-align: right;
386 div.verseblock-content {
387 white-space: pre;
389 div.verseblock-attribution {
390 padding-top: 0.75em;
391 text-align: left;
394 div.exampleblock-content {
395 border-left: 2px solid silver;
396 padding-left: 0.5em;
399 /* IE6 sets dynamically generated links as visited. */
400 div#toc a:visited { color: blue; }
401 </style>
402 </head>
403 <body>
404 <div id="header">
405 <h1>
406 gitignore(5) Manual Page
407 </h1>
408 <h2>NAME</h2>
409 <div class="sectionbody">
410 <p>gitignore -
411 Specifies intentionally untracked files to ignore
412 </p>
413 </div>
414 </div>
415 <h2 id="_synopsis">SYNOPSIS</h2>
416 <div class="sectionbody">
417 <div class="paragraph"><p>$GIT_DIR/info/exclude, .gitignore</p></div>
418 </div>
419 <h2 id="_description">DESCRIPTION</h2>
420 <div class="sectionbody">
421 <div class="paragraph"><p>A <tt>gitignore</tt> file specifies intentionally untracked files that
422 git should ignore.
423 Files already tracked by git are not affected; see the NOTES
424 below for details.</p></div>
425 <div class="paragraph"><p>Each line in a <tt>gitignore</tt> file specifies a pattern.
426 When deciding whether to ignore a path, git normally checks
427 <tt>gitignore</tt> patterns from multiple sources, with the following
428 order of precedence, from highest to lowest (within one level of
429 precedence, the last matching pattern decides the outcome):</p></div>
430 <div class="ulist"><ul>
431 <li>
433 Patterns read from the command line for those commands that support
434 them.
435 </p>
436 </li>
437 <li>
439 Patterns read from a <tt>.gitignore</tt> file in the same directory
440 as the path, or in any parent directory, with patterns in the
441 higher level files (up to the toplevel of the work tree) being overridden
442 by those in lower level files down to the directory containing the file.
443 These patterns match relative to the location of the
444 <tt>.gitignore</tt> file. A project normally includes such
445 <tt>.gitignore</tt> files in its repository, containing patterns for
446 files generated as part of the project build.
447 </p>
448 </li>
449 <li>
451 Patterns read from <tt>$GIT_DIR/info/exclude</tt>.
452 </p>
453 </li>
454 <li>
456 Patterns read from the file specified by the configuration
457 variable <em>core.excludesfile</em>.
458 </p>
459 </li>
460 </ul></div>
461 <div class="paragraph"><p>Which file to place a pattern in depends on how the pattern is meant to
462 be used. Patterns which should be version-controlled and distributed to
463 other repositories via clone (i.e., files that all developers will want
464 to ignore) should go into a <tt>.gitignore</tt> file. Patterns which are
465 specific to a particular repository but which do not need to be shared
466 with other related repositories (e.g., auxiliary files that live inside
467 the repository but are specific to one user&#8217;s workflow) should go into
468 the <tt>$GIT_DIR/info/exclude</tt> file. Patterns which a user wants git to
469 ignore in all situations (e.g., backup or temporary files generated by
470 the user&#8217;s editor of choice) generally go into a file specified by
471 <tt>core.excludesfile</tt> in the user&#8217;s <tt>~/.gitconfig</tt>.</p></div>
472 <div class="paragraph"><p>The underlying git plumbing tools, such as
473 <em>git ls-files</em> and <em>git read-tree</em>, read
474 <tt>gitignore</tt> patterns specified by command-line options, or from
475 files specified by command-line options. Higher-level git
476 tools, such as <em>git status</em> and <em>git add</em>,
477 use patterns from the sources specified above.</p></div>
478 </div>
479 <h2 id="_pattern_format">PATTERN FORMAT</h2>
480 <div class="sectionbody">
481 <div class="ulist"><ul>
482 <li>
484 A blank line matches no files, so it can serve as a separator
485 for readability.
486 </p>
487 </li>
488 <li>
490 A line starting with # serves as a comment.
491 </p>
492 </li>
493 <li>
495 An optional prefix <em>!</em> which negates the pattern; any
496 matching file excluded by a previous pattern will become
497 included again. If a negated pattern matches, this will
498 override lower precedence patterns sources.
499 </p>
500 </li>
501 <li>
503 If the pattern ends with a slash, it is removed for the
504 purpose of the following description, but it would only find
505 a match with a directory. In other words, <tt>foo/</tt> will match a
506 directory <tt>foo</tt> and paths underneath it, but will not match a
507 regular file or a symbolic link <tt>foo</tt> (this is consistent
508 with the way how pathspec works in general in git).
509 </p>
510 </li>
511 <li>
513 If the pattern does not contain a slash <em>/</em>, git treats it as
514 a shell glob pattern and checks for a match against the
515 pathname relative to the location of the <tt>.gitignore</tt> file
516 (relative to the toplevel of the work tree if not from a
517 <tt>.gitignore</tt> file).
518 </p>
519 </li>
520 <li>
522 Otherwise, git treats the pattern as a shell glob suitable
523 for consumption by fnmatch(3) with the FNM_PATHNAME flag:
524 wildcards in the pattern will not match a / in the pathname.
525 For example, "Documentation/&#42;.html" matches
526 "Documentation/git.html" but not "Documentation/ppc/ppc.html"
527 or "tools/perf/Documentation/perf.html".
528 </p>
529 </li>
530 <li>
532 A leading slash matches the beginning of the pathname.
533 For example, "/&#42;.c" matches "cat-file.c" but not
534 "mozilla-sha1/sha1.c".
535 </p>
536 </li>
537 </ul></div>
538 </div>
539 <h2 id="_notes">NOTES</h2>
540 <div class="sectionbody">
541 <div class="paragraph"><p>The purpose of gitignore files is to ensure that certain files
542 not tracked by git remain untracked.</p></div>
543 <div class="paragraph"><p>To ignore uncommitted changes in a file that is already tracked,
544 use <em>git update-index &#45;&#45;assume-unchanged</em>.</p></div>
545 <div class="paragraph"><p>To stop tracking a file that is currently tracked, use
546 <em>git rm --cached</em>.</p></div>
547 </div>
548 <h2 id="_examples">EXAMPLES</h2>
549 <div class="sectionbody">
550 <div class="listingblock">
551 <div class="content">
552 <pre><tt> $ git status
553 [...]
554 # Untracked files:
555 [...]
556 # Documentation/foo.html
557 # Documentation/gitignore.html
558 # file.o
559 # lib.a
560 # src/internal.o
561 [...]
562 $ cat .git/info/exclude
563 # ignore objects and archives, anywhere in the tree.
564 *.[oa]
565 $ cat Documentation/.gitignore
566 # ignore generated html files,
567 *.html
568 # except foo.html which is maintained by hand
569 !foo.html
570 $ git status
571 [...]
572 # Untracked files:
573 [...]
574 # Documentation/foo.html
575 [...]</tt></pre>
576 </div></div>
577 <div class="paragraph"><p>Another example:</p></div>
578 <div class="listingblock">
579 <div class="content">
580 <pre><tt> $ cat .gitignore
581 vmlinux*
582 $ ls arch/foo/kernel/vm*
583 arch/foo/kernel/vmlinux.lds.S
584 $ echo '!/vmlinux*' &gt;arch/foo/kernel/.gitignore</tt></pre>
585 </div></div>
586 <div class="paragraph"><p>The second .gitignore prevents git from ignoring
587 <tt>arch/foo/kernel/vmlinux.lds.S</tt>.</p></div>
588 </div>
589 <h2 id="_see_also">SEE ALSO</h2>
590 <div class="sectionbody">
591 <div class="paragraph"><p><a href="git-rm.html">git-rm(1)</a>, <a href="git-update-index.html">git-update-index(1)</a>,
592 <a href="gitrepository-layout.html">gitrepository-layout(5)</a></p></div>
593 </div>
594 <h2 id="_git">GIT</h2>
595 <div class="sectionbody">
596 <div class="paragraph"><p>Part of the <a href="git.html">git(1)</a> suite</p></div>
597 </div>
598 <div id="footer">
599 <div id="footer-text">
600 Last updated 2011-03-15 23:30:15 UTC
601 </div>
602 </div>
603 </body>
604 </html>