По какому образцу следует .gitignore?

Вот содержимое моего текущего каталога.

$ ls
foo.foo
$ ls -a
.  ..  .bar.foo  .foo  foo.foo  .gitignore

Затем я превращаю этот каталог в git-репозиторий.

$ git init
Initialized empty Git repository in /home/lone/foo/.git/
$ ls -a
.  ..  .bar.foo  .foo  foo.foo  .git  .gitignore

Вот содержание.gitignore.

$ cat .gitignore 
*.foo

Я вижу, что картина в.gitignore ведет себя иначе, чем тот же шаблон в оболочке. В оболочке*.foo соответствует только не скрытым файлам, т.е. именам файлов, которые не начинаются с точки.

$ echo *.foo
foo.foo

Но*.foo в.gitignore кажется, соответствует любым файлам, скрытым или не скрытым, который заканчивается.foo.

$ git status
On branch master

Initial commit

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        .gitignore

nothing added to commit but untracked files present (use "git add" to track)

Где я могу узнать больше о точном определении шаблонов, которым следует .gitignore, чтобы я мог понять, где и почему его поведение отличается от поведения шаблонов оболочки?

Ответы на вопрос(0)

Ваш ответ на вопрос