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">
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">
10 p
, li
, dt
, dd
, div
, pre
, h1
, h2
, h3
, h4
, h5
, h6
{
12 border: 1px solid red;
17 margin: 1em 5% 1em 5%;
22 text-decoration: underline
;
42 h1
, h2
, h3
, h4
, h5
, h6
{
44 font-family: sans-serif
;
51 border-bottom: 2px solid silver
;
69 border: 1px solid silver
;
88 font-family: sans-serif
;
94 span#revnumber
, span#revdate
, span#revremark
{
95 font-family: sans-serif
;
99 font-family: sans-serif
;
101 border-top: 2px solid silver
;
107 padding-bottom: 0.5em;
111 padding-bottom: 0.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
{
122 margin-bottom: 1.5em;
124 div
.admonitionblock
{
126 margin-bottom: 2.5em;
129 div
.content
{ /* Block element content. */
133 /* Block element titles. */
134 div
.title
, caption
.title
{
136 font-family: sans-serif
;
140 margin-bottom: 0.5em;
146 td div
.title:first-child
{
149 div
.content div
.title:first-child
{
152 div
.content
+ div
.title
{
156 div
.sidebarblock
> div
.content
{
158 border: 1px solid silver
;
162 div
.listingblock
> div
.content
{
163 border: 1px solid silver
;
172 div
.quoteblock
> div
.attribution
{
181 div
.verseblock
> div
.content
{
184 div
.verseblock
> div
.attribution
{
188 /* DEPRECATED: Pre version 8.2.7 verse style literal block. */
189 div
.verseblock
+ div
.attribution
{
193 div
.admonitionblock
.icon
{
197 text-decoration: underline
;
199 padding-right: 0.5em;
201 div
.admonitionblock td
.content
{
203 border-left: 2px solid silver
;
206 div
.exampleblock
> div
.content
{
207 border-left: 2px solid silver
;
211 div
.imageblock div
.content
{ padding-left: 0; }
212 span
.image img
{ border-style: none
; }
213 a
.image:visited
{ color: white
; }
217 margin-bottom: 0.8em;
230 list-style-position: outside
;
233 list-style-type: decimal
;
236 list-style-type: lower-alpha
;
239 list-style-type: upper-alpha
;
242 list-style-type: lower-roman
;
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
{
252 margin-bottom: 0.1em;
255 div
.tableblock
> table
{
256 border: 3px solid
#527bbd;
259 font-family: sans-serif
;
271 /* Because the table frame attribute is overriden by CSS in most browsers. */
272 div
.tableblock
> table
[frame
="void"] {
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
;
287 margin-bottom: 0.8em;
290 padding-bottom: 15px;
292 dt
.hdlist1
.strong
, td
.hdlist1
.strong
{
298 padding-right: 0.8em;
304 div
.hdlist
.compact tr
{
314 div#footer-badges
{ display: none
; }
319 font-family: sans-serif
;
323 margin-bottom: 0.1em;
326 div
.toclevel1
, div
.toclevel2
, div
.toclevel3
, div
.toclevel4
{
342 /* Overrides for manpage documents */
345 padding-bottom: 0.5em;
346 border-top: 2px solid silver
;
347 border-bottom: 2px solid silver
;
357 div#toc
{ display: none
; }
360 /* Workarounds for IE6's broken and incomplete CSS2. */
362 div
.sidebar-content
{
364 border: 1px solid silver
;
367 div
.sidebar-title
, div
.image-title
{
369 font-family: sans-serif
;
372 margin-bottom: 0.5em;
375 div
.listingblock div
.content
{
376 border: 1px solid silver
;
381 div
.quoteblock-attribution
{
386 div
.verseblock-content
{
389 div
.verseblock-attribution
{
394 div
.exampleblock-content
{
395 border-left: 2px solid silver
;
399 /* IE6 sets dynamically generated links as visited. */
400 div#toc
a:visited
{ color: blue
; }
406 gitignore(
5) Manual Page
409 <div class=
"sectionbody">
411 Specifies intentionally untracked files to ignore
415 <h2 id=
"_synopsis">SYNOPSIS
</h2>
416 <div class=
"sectionbody">
417 <div class=
"paragraph"><p>$GIT_DIR/info/exclude, .gitignore
</p></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
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>
433 Patterns read from the command line for those commands that support
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.
451 Patterns read from
<tt>$GIT_DIR/info/exclude
</tt>.
456 Patterns read from the file specified by the configuration
457 variable
<em>core.excludesfile
</em>.
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
’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
’s editor of choice) generally go into a file specified by
471 <tt>core.excludesfile
</tt> in the user
’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>
479 <h2 id=
"_pattern_format">PATTERN FORMAT
</h2>
480 <div class=
"sectionbody">
481 <div class=
"ulist"><ul>
484 A blank line matches no files, so it can serve as a separator
490 A line starting with # serves as a comment.
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.
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).
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).
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/*.html" matches
526 "Documentation/git.html" but not
"Documentation/ppc/ppc.html"
527 or
"tools/perf/Documentation/perf.html".
532 A leading slash matches the beginning of the pathname.
533 For example,
"/*.c" matches
"cat-file.c" but not
534 "mozilla-sha1/sha1.c".
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
--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>
548 <h2 id=
"_examples">EXAMPLES
</h2>
549 <div class=
"sectionbody">
550 <div class=
"listingblock">
551 <div class=
"content">
552 <pre><tt> $ git status
556 # Documentation/foo.html
557 # Documentation/gitignore.html
562 $ cat .git/info/exclude
563 # ignore objects and archives, anywhere in the tree.
565 $ cat Documentation/.gitignore
566 # ignore generated html files,
568 # except foo.html which is maintained by hand
574 # Documentation/foo.html
577 <div class=
"paragraph"><p>Another example:
</p></div>
578 <div class=
"listingblock">
579 <div class=
"content">
580 <pre><tt> $ cat .gitignore
582 $ ls arch/foo/kernel/vm*
583 arch/foo/kernel/vmlinux.lds.S
584 $ echo '!/vmlinux*'
>arch/foo/kernel/.gitignore
</tt></pre>
586 <div class=
"paragraph"><p>The second .gitignore prevents git from ignoring
587 <tt>arch/foo/kernel/vmlinux.lds.S
</tt>.
</p></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>
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>
599 <div id=
"footer-text">
600 Last updated
2011-
03-
15 23:
30:
15 UTC