22

.gitignore ファイルの *.user のような単純なパターンが、ファイル名フォルダー名に一致しているように見えることに驚きました。

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)

私の期待は間違っていますか?拡張子が blahの単純な無視ファイルを作成し、 .blahで終わるフォルダーが一致しないようにするにはどうすればよいですか?

gitignoreのマニュアル ページには、/ のないパターンはシェル グロブ パターン機能を使用して照合されると記載されていますが、ファイルのみに一致するのか、ファイルとディレクトリに一致するのかはわかりません。

4

1 に答える 1