doc: gitignore: clarify pattern base for info/exclude and core.excludesFile
The pattern format section describes how patterns are interpreted relative to the location of a .gitignore file, but does not mention the behavior for exclude sources outside the working tree. Clarify that patterns from $GIT_DIR/info/exclude and core.excludesFile are treated as if they are specified at the root of the working tree, so a leading '/' anchors matches at the repository root. Reported-by: Dan Drake <dan@dandrake.org> Signed-off-by: Shreyansh Paliwal <shreyanshpaliwalcmsmn@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Shreyansh Paliwal committed
Mar 28, 2026 at 20:51 UTC
0f0ce0762503cb8f58a3ce07052a639e36e07ed5
1 file changed
+5
Documentation/gitignore.adoc
+5
index 9fccab4ae8..a3d24e5c34 100644
--- a/Documentation/gitignore.adoc
+++ b/Documentation/gitignore.adoc
@@ -96,6 +96,11 @@ PATTERN FORMAT
particular `.gitignore` file itself. Otherwise the pattern may also
match at any level below the `.gitignore` level.
+ - Patterns read from exclude sources that are outside the working tree,
+ such as $GIT_DIR/info/exclude and core.excludesFile, are treated as if
+ they are specified at the root of the working tree, i.e. a leading "/"
+ in such patterns anchors the match at the root of the repository.
+
- 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.