# Bug? of gitignore pattern matching

1 messages from 2020-07-07 to 2020-07-07. Participants: 美纱Misha.
Thread: https://gitlist.dev/t/53808

## 美纱Misha, 2020-07-07 12:19

Subject: Bug? of gitignore pattern matching
Message-ID: <CAMZHuz-Z2HGynUY0R5YDjkN1E12ZtD8h7OsZ9W6mawsxWQODgQ@mail.gmail.com>
URL: https://gitlist.dev/e/CAMZHuz-Z2HGynUY0R5YDjkN1E12ZtD8h7OsZ9W6mawsxWQODgQ%40mail.gmail.com

```
In document of gitignore I found

An asterisk "*" matches anything except a slash.

This description well meets what if the asterisk is at the begging or
in the middle of the pattern.

ˋˋˋ
~/Code/github/test on  master!  20:01:11
$ git check-ignore -v data/a/b/1

~/Code/github/test on  master!  20:01:18
$ git check-ignore -v data/a/b/2
.gitignore:2:data/**/2 data/a/b/2

~/Code/github/test on  master!  20:01:19
$ git check-ignore -v data/a/b/3
.gitignore:3:data/***/3 data/a/b/3

~/Code/github/test on  master!  20:01:20
$ cat .gitignore
data/*/1
data/**/2
data/***/3

~/Code/github/test on  master!  20:01:21
$ vim .gitignore

~/Code/github/test on  master!  20:01:46
$ git check-ignore -v a/b/3
.gitignore:3:***/3 a/b/3

~/Code/github/test on  master!  20:01:51
$ git check-ignore -v a/b/2
.gitignore:2:**/2 a/b/2

~/Code/github/test on  master!  20:01:53
$ git check-ignore -v a/b/1

~/Code/github/test on  master!  20:01:54
$ cat .gitignore
*/1
**/2
***/3

ˋˋˋ

ˋˋˋ
~/Code/github/test on  master!  20:00:13
$ git check-ignore -v data/1/a/b
.gitignore:1:data/1/* data/1/a/b

~/Code/github/test on  master!  20:00:22
$ git check-ignore -v data/2/a/b
.gitignore:2:data/2/** data/2/a/b

~/Code/github/test on  master!  20:00:25
$ git check-ignore -v data/3/a/b
.gitignore:3:data/3/*** data/3/a/b

~/Code/github/test on  master!  20:00:26
$ cat .gitignore
data/1/*
data/2/**
data/3/***
ˋˋˋ

But if this asterisk is at the end of the ignore pattern. Seems that
"*" equals to "**"



-----


And there is another question

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

And it seems that triple asterisks act like double ones. What do
regular asterisks mean, I used to believe they work as a single
asterisk before testing.  Maybe there is some ambiguity?


Best,
Yanxiang Gao

```
