ruby-on-rails - Git 忽略供应商文件夹

标签 ruby-on-rails git github gitignore

我已将 vendor 文件夹添加到我的 .gitignore 文件中,但每当我执行 git status 时,它仍然显示 vendor 文件夹已修改。 以下是我将代码推送到存储库所遵循的步骤:

  1. 创建了包含以下内容的 .gitignore 文件:

    .idea/*
    log/*
    tmp/*
    
  2. .gitignore 文件推送到存储库:

    git add .
    git commit -m "test"
    git push origin master
    
  3. 创建了包含 vendor 文件夹的新项目

  4. 将包含供应商文件夹的项目推送到存储库:

    git add .
    git commit -m "test"
    git push origin master
    
  5. 修改 .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/

相关文章:

ruby-on-rails - 我的主键怎么了?

ruby-on-rails - 我可以通过更改其加载的部分格式的方式更改渲染部分的格式吗?

ruby-on-rails - 设计用户sign_in给出CSRF token 真实性 token 的身份验证错误

git - 哪些 sbt 插件可用于频繁(每天多次)从 git 发布项目?

php - “git pull”在 SSH 中执行,但不在 github 接收后脚本中执行

git pull U、A 和 D 标签 : Meaning?

ruby-on-rails - 为什么我的 Rails 规范无法运行?

git - 如何比较本地和远程git文件?

javascript - Github 页面部署问题

git - 在致命消息后继续