我正在使用Rails并将目录tmp和Gemfile添加到我的.gitignore中。但是每次我改变它,git status
告诉我,它就变了。在两台机器上。在我的开发人员机器和服务器上。有点烦人。
.gitignore
含量:
.DS_Store
data/export/*.csv
tmp/*
*.rbc
*.sassc
.sass-cache
capybara-*.html
.rspec
/.bundle
/vendor/bundle
/log/*
/tmp/*
/db/*.sqlite3
/public/system/*
/coverage/
/spec/tmp/*
**.orig
config/*.yml
rerun.txt
pickle-email-*.html
Gemfile*
可能git已经在跟踪这些文件了。试试git rm
:
git rm --cached Gemfile
(尽管您可能应该将Gemfile置于版本控制之下)
,对于TMP目录:
git rm -r --cached tmp
--cached
是使工作文件不会被删除,-r
是递归地从目录中删除。
之后git应该尊重.gitignore
如果你的tmp和GemFile目录已经版本化了,Git不会忽略它们。
通过以下操作撤销它们的版本:
git rm -r --cached tmp
git commit -am "removing tmp"
(——cached以便它们将保留在您的工作目录中)
,或者忽略它们不被忽略(:)),或者执行如下操作:
git update-index --assume-unchanged tmp/**
上面的命令"暂时忽略"对已经版本化的文件夹的更改。