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>
maint
Shreyansh Paliwal 2026-03-28 20:51:58 +05:30 committed by Junio C Hamano
parent 9a2fb147f2
commit 0f0ce07625
1 changed files with 5 additions and 0 deletions

View File

@ -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.