Ich bin überrascht, dass einfache Muster wie * .user in einer .gitignore-Datei scheinen Dateien und Ordnernamen übereinstimmen.Wie gitignore * nur * Dateien?
ringods$ mkdir TestIgnore
ringods$ cd TestIgnore/
ringods$ git init
Initialized empty Git repository in /Users/ringods/Projects/hostbasket/TestIgnore/.git/
ringods$ git status
# On branch master
#
# Initial commit
#
nothing to commit (create/copy files and use "git add" to track)
ringods$ mkdir security.user
ringods$ touch security.user/file_may_not_be_ignored.txt
ringods$ git status
# On branch master
#
# Initial commit
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# security.user/
nothing added to commit but untracked files present (use "git add" to track)
ringods$ echo "*.user"> .gitignore
ringods$ cat .gitignore
*.user
ringods$ 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)
Habe ich falsche Erwartungen? Wie kann ich eine einfache ignorieren Dateien mit der Erweiterung Blah und verhindern, dass Ordner mit der Endung .blah übereinstimmen? Die gitignore man page erwähnt, dass Muster ohne ein/sind mit Shell-Glob-Muster-Funktionalität abgestimmt, aber es sagt mir nicht wirklich, ob es nur Dateien oder Dateien und Verzeichnisse entspricht.