Git忽略供应商文件夹

时间:2013-12-20 12:08:06

标签: ruby-on-rails git github gitignore

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

步骤1)创建包含以下内容的.gitignore文件。

.idea/*
log/*
tmp/*

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

git add .
git commit -m "test"
git push origin master

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

步骤4)将包含vendor文件夹的项目推送到存储库。

git add .
git commit -m "test"
git push origin master

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

.idea/*
log/*
tmp/*
vendor/bundle/*
vendor/cache/*
vendor/plugins/*

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

"modified:   vendor/bundle/ruby/1.9.1/bundler/gems/jquery-rails-f79e8f178"

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

2 个答案:

答案 0 :(得分:7)

.gitignore只会导致忽略新的未跟踪文件。如果文件已经添加到存储库,就像本例中vendor目录中的文件一样,它们仍会被跟踪。

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

下次您推送遥控器时,您将以此方式删除的文件将从遥控器中删除。

答案 1 :(得分:-2)

您正在以错误的方式添加供应商目录。尝试下面的一个。

/log/*.log
/tmp
/vendor