Git ingoring vendor文件夹

use*_*480 3 git ruby-on-rails github gitignore

我已经将vendor文件夹添加到我的.gitignore文件中,但是每当我执行git状态时它都会显示我修改了vendor文件夹.以下是我为了将代码推送到我的存储库而遵循的步骤: -

步骤1)创建.gitignore文件,其中包含以下内容.

.idea/*
log/*
tmp/*
Run Code Online (Sandbox Code Playgroud)

步骤2)将gitignore文件推送到存储库

git add .
git commit -m "test"
git push origin master
Run Code Online (Sandbox Code Playgroud)

步骤3)创建包含供应商文件夹的新项目.

步骤4)将vendor文件夹推送到存储库.

git add .
git commit -m "test"
git push origin master
Run Code Online (Sandbox Code Playgroud)

步骤5)修改.gitignore文件以忽略供应商文件夹.

.idea/*
log/*
tmp/*
vendor/bundle/*
vendor/cache/*
vendor/plugins/*
Run Code Online (Sandbox Code Playgroud)

但无论我在哪里做git状态,都会显示: -

"modified:   vendor/bundle/ruby/1.9.1/bundler/gems/jquery-rails-f79e8f178"
Run Code Online (Sandbox Code Playgroud)

即使供应商文件夹位于.gitignore文件中.

Chr*_*ris 8

.gitignore只会导致忽略新的未跟踪文件.如果文件已经添加到存储库,就像vendor在这种情况下目录中的文件一样,它们仍将被跟踪.

您必须从存储库中删除供应商文件并将其添加到.gitignore.这可以使用git rm --cached <file>,<file>将从存储库中删除,但不会从您的工作副本中删除它.

下次推送到遥控器时,以这种方式删除的文件将从遥控器中删除.