about summary refs log tree commit diff
path: root/third_party/git/Documentation/gitignore.txt
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/Documentation/gitignore.txt')
-rw-r--r--third_party/git/Documentation/gitignore.txt238
1 files changed, 0 insertions, 238 deletions
diff --git a/third_party/git/Documentation/gitignore.txt b/third_party/git/Documentation/gitignore.txt
deleted file mode 100644
index d47b1ae29637..000000000000
--- a/third_party/git/Documentation/gitignore.txt
+++ /dev/null
@@ -1,238 +0,0 @@
-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, with patterns in the
-   higher level files (up to the toplevel of the work tree) 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'.
-
-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