即使我试图忽略它们,.gitignore 仍然跟踪文件,为什么?

Rey*_*rPM 1 git github gitignore

我的项目中有以下目录结构:

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 application\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 ... <more folders & files goes here>\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 config\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 cronjobs\n\xe2\x94\x82\xe2\x94\x80\xe2\x94\x80 ... <more folders & files goes here>\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 oneview_symfony\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 app\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 bin\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 tests\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 var\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 vendor\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 web\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 .gitignore\n
Run Code Online (Sandbox Code Playgroud)\n\n

我试图忽略一些文件和文件夹,这是我的.gitignore文件中的规则:

\n\n
oneview_symfony/app/cache/*\noneview_symfony/app/logs/*\n!oneview_symfony/app/cache/.gitkeep\n!oneview_symfony/app/logs/.gitkeep\n\noneview_symfony/app/spool/*\n\noneview_symfony/var/cache/*\noneview_symfony/var/logs/*\noneview_symfony/var/sessions/*\n!oneview_symfony/var/cache/.gitkeep\n!oneview_symfony/var/logs/.gitkeep\n!oneview_symfony/var/sessions/.gitkeep\n\noneview_symfony/app/config/parameters.yml\noneview_symfony/app/config/parameters.ini\n\noneview_symfony/app/bootstrap.php.cache\noneview_symfony/var/bootstrap.php.cache\noneview_symfony/bin/*\n!oneview_symfony/bin/console\n!oneview_symfony/bin/symfony_requirements\noneview_symfony/vendor/*\n\noneview_symfony/web/bundles/\noneview_symfony/web/uploads/   \noneview_symfony/app/phpunit.xml\noneview_symfony/phpunit.xml\noneview_symfony/build/\n\noneview_symfony/web/css/\noneview_symfony/web/js/\n
Run Code Online (Sandbox Code Playgroud)\n\n

有了上面的信息,如果我运行,git status我仍然可以看到下面的文件oneview_symfony/vendor/,为什么?我缺少什么?

\n\n

上述命令的输出示例:

\n\n
    ...\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/pt_BR/Zend_Validate.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/ru/Zend_Validate.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/sk/Zend_Captcha.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/sk/Zend_Validate.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/sr/Zend_Validate.php\n    new file:   oneview_symfony/vendor/zendframework/zendframework1/resources/languages/uk/Zend_Validate.php\n    modified:   oneview_symfony/web/.htaccess\n\nChanges not staged for commit:\n  (use "git add <file>..." to update what will be committed)\n  (use "git checkout -- <file>..." to discard changes in working directory)\n
Run Code Online (Sandbox Code Playgroud)\n

Lia*_*ray 6

您已经将这些文件添加到您的 git 存储库中和/或暂存更改。

要将它们从存储库中删除,您可以运行git rm -r --cache <folder-to-ignore>以将它们从 git 缓存中删除。(确保包含该--cache标志,这样它就不会删除实际文件!)

如果您只是暂存文件,则可以运行git reset来取消暂存它们,并且如果它们已正确添加到更改列表中,它们应该停止出现在更改列表中.gitignore