我的.gitignore有问题。 我希望它只是忽略'vendor /'目录,但它忽略了具有该名称的所有目录。
以下是我的.gitignore:
.idea/
bin/
vendor/
composer.lock
composer.phar
以下是我的'git status'的结果:
Changes not staged for commit:
(use "git add <file> ..." to update what will be submitted)
(use "git checkout - <file> ..." to discard changes in working directory)
modified: .gitignore
Not monitored files:
(use "git add <file> ..." to include what will be submitted)
src/vendor/
tests/src/
vendor/
它也忽略了'src / vendor',我不希望这种情况发生,我希望它忽略'vendor /'
答案 0 :(得分:32)
答案 1 :(得分:2)
来自Git - gitignore Documentation:
“如果模式以斜杠结尾,则为了以下描述的目的将其删除,但它只会找到与目录的匹配。换句话说,foo /将匹配目录foo和其下的路径,但是不会匹配常规文件或符号链接foo(这与在Git中一般使用pathspec的方式一致)。“
“如果模式不包含斜杠/,Git会将其视为shell glob模式,并检查相对于.gitignore文件位置的路径名的匹配(相对于工作树的顶层)来自.gitignore文件)。“
只需删除/
即可.idea
bin
vendor
composer.lock
composer.phar