我已将 vendor 文件夹添加到我的 .gitignore
文件中,但每当我执行 git status 时,它仍然显示 vendor 文件夹已修改。
以下是我将代码推送到存储库所遵循的步骤:
创建了包含以下内容的
.gitignore
文件:.idea/* log/* tmp/*
将
.gitignore
文件推送到存储库:git add . git commit -m "test" git push origin master
创建了包含 vendor 文件夹的新项目
将包含供应商文件夹的项目推送到存储库:
git add . git commit -m "test" git push origin master
修改
.gitignore
文件以忽略供应商文件夹:.idea/* log/* tmp/* vendor/bundle/* vendor/cache/* vendor/plugins/*
但是无论我在哪里执行 git status,它都会显示:
modified: vendor/bundle/ruby/1.9.1/bundler/gems/jquery-rails-f79e8f178
即使 vendor 文件夹在 .gitignore
文件中。
最佳答案
.gitignore
只会导致新的、未跟踪的文件被忽略。如果文件已经添加到存储库中,例如 vendor
中的文件在这种情况下,它们仍会被跟踪。
您必须从存储库中删除供应商文件并将它们添加到 .gitignore
.这可以通过 git rm --cached <file>
来完成, 这将删除 <file>
从存储库中,但不会从您的工作副本中删除它。
下次您推送到您的 Remote 时,您通过这种方式删除的文件将从 Remote 中删除。
关于ruby-on-rails - Git 忽略供应商文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20703334/