summaryrefslogtreecommitdiffstats
path: root/gitignore.txt
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2016-03-10 14:58:00 -0800
committerJunio C Hamano <gitster@pobox.com>2016-03-10 14:58:00 -0800
commitdf97ffc354c223ba742bae4842b51593d5b9a722 (patch)
tree0360ede60879edcb2979fd315028712f47a11770 /gitignore.txt
parent03a41f3855750dd7f9c9586b766f8f499df8ff92 (diff)
downloadgit-htmldocs-df97ffc354c223ba742bae4842b51593d5b9a722.tar.gz
Autogenerated HTML docs for v2.8.0-rc2
Diffstat (limited to 'gitignore.txt')
-rw-r--r--gitignore.txt38
1 files changed, 37 insertions, 1 deletions
diff --git a/gitignore.txt b/gitignore.txt
index 3ded6fdc9..91d1ce2a8 100644
--- a/gitignore.txt
+++ b/gitignore.txt
@@ -148,7 +148,43 @@ excluded, the following conditions must be met:
be in the same .gitignore file.
- The directory part in the re-include rules must be literal (i.e. no
- wildcards)
+ wildcards and has to start with a `/`).
+
+A re-inclusion of a directory makes all files in the directory
+unignored. For example, suppose you have files `.gitignore`,
+`dir/file1`, `dir/file2`, and `dir/file3`, and have the following in
+your `.gitignore`:
+
+----------------
+# .gitignore is not mentioned in .gitignore
+*
+!/dir
+# dir/file1 is not mentioned in .gitignore
+dir/file2
+!dir/file3
+----------------
+
+Then:
+
+ - `.gitignore` gets ignored, because it matches the `*` at the top
+ level;
+
+ - `dir/file1` does not get ignored, because `/dir` marks everything
+ underneath `dir/` directory to be 're-included' unless otherwise
+ specified;
+
+ - `dir/file2` gets ignored, because `dir/file2` matches it.
+
+ - `dir/file3` does not get ignored, because `!dir/file3` matches it.
+ Note that the entry `!dir/file3` is redundant because everything
+ underneath `dir/` is marked to be 're-included' already.
+
+Some earlier versions of Git treated `!/dir` above differently in
+that it did not cause the paths under it unignored (but merely told
+Git that patterns that begin with dir/ should not be ignored), but
+this has been corrected to be consistent with `/dir` that says "the
+directory `dir/` and everything below are ignored."
+
EXAMPLES
--------