gitignore(5)
============

NAME
----
gitignore - Specifies intentionally untracked files to ignore

SYNOPSIS
--------
$XDG_CONFIG_HOME/git/ignore, $GIT_DIR/info/exclude, .gitignore

DESCRIPTION
-----------

A `gitignore` file specifies intentionally untracked files that
Git should ignore.
Files already tracked by Git are not affected; see the NOTES
below for details.

Each line in a `gitignore` file specifies a pattern.
When deciding whether to ignore a path, Git normally checks
`gitignore` patterns from multiple sources, with the following
order of precedence, from highest to lowest (within one level of
precedence, the last matching pattern decides the outcome):

 * Patterns read from the command line for those commands that support
   them.

 * Patterns read from a `.gitignore` file in the same directory
   as the path, or in any parent directory (up to the top-level of the working
   tree), with patterns in the higher level files being overridden by those in
   lower level files down to the directory containing the file. These patterns
   match relative to the location of the `.gitignore` file.  A project normally
   includes such `.gitignore` files in its repository, containing patterns for
   files generated as part of the project build.

 * Patterns read from `$GIT_DIR/info/exclude`.

 * Patterns read from the file specified by the configuration
   variable `core.excludesFile`.

Which file to place a pattern in depends on how the pattern is meant to
be used.

 * Patterns which should be version-controlled and distributed to
   other repositories via clone (i.e., files that all developers will want
   to ignore) should go into a `.gitignore` file.

 * Patterns which are
   specific to a particular repository but which do not need to be shared
   with other related repositories (e.g., auxiliary files that live inside
   the repository but are specific to one user's workflow) should go into
   the `$GIT_DIR/info/exclude` file.

 * Patterns which a user wants Git to
   ignore in all situations (e.g., backup or temporary files generated by
   the user's editor of choice) generally go into a file specified by
   `core.excludesFile` in the user's `~/.gitconfig`. Its default value is
   $XDG_CONFIG_HOME/git/ignore. If $XDG_CONFIG_HOME is either not set or
   empty, $HOME/.config/git/ignore is used instead.

The underlying Git plumbing tools, such as
'git ls-files' and 'git read-tree', read
`gitignore` patterns specified by command-line options, or from
files specified by command-line options.  Higher-level Git
tools, such as 'git status' and 'git add',
use patterns from the sources specified above.

PATTERN FORMAT
--------------

 - A blank line matches no files, so it can serve as a separator
   for readability.

 - A line starting with # serves as a comment.
   Put a backslash ("`\`") in front of the first hash for patterns
   that begin with a hash.

 - Trailing spaces are ignored unless they are quoted with backslash
   ("`\`").

 - An optional prefix "`!`" which negates the pattern; any
   matching file excluded by a previous pattern will become
   included again. It is not possible to re-include a file if a parent
   directory of that file is excluded. Git doesn't list excluded
   directories for performance reasons, so any patterns on contained
   files have no effect, no matter where they are defined.
   Put a backslash ("`\`") in front of the first "`!`" for patterns
   that begin with a literal "`!`", for example, "`\!important!.txt`".

 - The slash '/' is used as the directory separator. Separators may
   occur at the beginning, middle or end of the `.gitignore` search pattern.

 - If there is a separator at the beginning or middle (or both) of the
   pattern, then the pattern is relative to the directory level of the
   particular `.gitignore` file itself. Otherwise the pattern may also
   match at any level below the `.gitignore` level.

 - If there is a separator at the end of the pattern then the pattern
   will only match directories, otherwise the pattern can match both
   files and directories.

 - For example, a pattern `doc/frotz/` matches `doc/frotz` directory,
   but not `a/doc/frotz` directory; however `frotz/` matches `frotz`
   and `a/frotz` that is a directory (all paths are relative from
   the `.gitignore` file).

 - An asterisk "`*`" matches anything except a slash.
   The character "`?`" matches any one character except "`/`".
   The range notation, e.g. `[a-zA-Z]`, can be used to match
   one of the characters in a range. See fnmatch(3) and the
   FNM_PATHNAME flag for a more detailed description.

Two consecutive asterisks ("`**`") in patterns matched against
full pathname may have special meaning:

 - A leading "`**`" followed by a slash means match in all
   directories. For example, "`**/foo`" matches file or directory
   "`foo`" anywhere, the same as pattern "`foo`". "`**/foo/bar`"
   matches file or directory "`bar`" anywhere that is directly
   under directory "`foo`".

 - A trailing "`/**`" matches everything inside. For example,
   "`abc/**`" matches all files inside directory "`abc`", relative
   to the location of the `.gitignore` file, with infinite depth.

 - A slash followed by two consecutive asterisks then a slash
   matches zero or more directories. For example, "`a/**/b`"
   matches "`a/b`", "`a/x/b`", "`a/x/y/b`" and so on.

 - Other consecutive asterisks are considered regular asterisks and
   will match according to the previous rules.

CONFIGURATION
-------------

The optional configuration variable `core.excludesFile` indicates a path to a
file containing patterns of file names to exclude, similar to
`$GIT_DIR/info/exclude`.  Patterns in the exclude file are used in addition to
those in `$GIT_DIR/info/exclude`.

NOTES
-----

The purpose of gitignore files is to ensure that certain files
not tracked by Git remain untracked.

To stop tracking a file that is currently tracked, use
'git rm --cached'.

Git does not follow symbolic links when accessing a `.gitignore` file in
the working tree. This keeps behavior consistent when the file is
accessed from the index or a tree versus from the filesystem.

EXAMPLES
--------

 - The pattern `hello.*` matches any file or folder
   whose name begins with `hello.`. If one wants to restrict
   this only to the directory and not in its subdirectories,
   one can prepend the pattern with a slash, i.e. `/hello.*`;
   the pattern now matches `hello.txt`, `hello.c` but not
   `a/hello.java`.

 - The pattern `foo/` will match a directory `foo` and
   paths underneath it, but will not match a regular file
   or a symbolic link `foo` (this is consistent with the
   way how pathspec works in general in Git)

 - The pattern `doc/frotz` and `/doc/frotz` have the same effect
   in any `.gitignore` file. In other words, a leading slash
   is not relevant  if there is already a middle slash in
   the pattern.

 - The pattern "foo/*", matches "foo/test.json"
   (a regular file), "foo/bar" (a directory), but it does not match
   "foo/bar/hello.c" (a regular file), as the asterisk in the
   pattern does not match "bar/hello.c" which has a slash in it.

--------------------------------------------------------------
    $ git status
    [...]
    # Untracked files:
    [...]
    #       Documentation/foo.html
    #       Documentation/gitignore.html
    #       file.o
    #       lib.a
    #       src/internal.o
    [...]
    $ cat .git/info/exclude
    # ignore objects and archives, anywhere in the tree.
    *.[oa]
    $ cat Documentation/.gitignore
    # ignore generated html files,
    *.html
    # except foo.html which is maintained by hand
    !foo.html
    $ git status
    [...]
    # Untracked files:
    [...]
    #       Documentation/foo.html
    [...]
--------------------------------------------------------------

Another example:

--------------------------------------------------------------
    $ cat .gitignore
    vmlinux*
    $ ls arch/foo/kernel/vm*
    arch/foo/kernel/vmlinux.lds.S
    $ echo '!/vmlinux*' >arch/foo/kernel/.gitignore
--------------------------------------------------------------

The second .gitignore prevents Git from ignoring
`arch/foo/kernel/vmlinux.lds.S`.

Example to exclude everything except a specific directory `foo/bar`
(note the `/*` - without the slash, the wildcard would also exclude
everything within `foo/bar`):

--------------------------------------------------------------
    $ cat .gitignore
    # exclude everything except directory foo/bar
    /*
    !/foo
    /foo/*
    !/foo/bar
--------------------------------------------------------------

SEE ALSO
--------
linkgit:git-rm[1],
linkgit:gitrepository-layout[5],
linkgit:git-check-ignore[1]

GIT
---
Part of the linkgit:git[1] suite
