Git在Rails项目上忽略了我的.gitignore

时间:2012-03-04 10:31:10

标签: ruby-on-rails git gitignore

由于Rails'tmp/cache/assets文件夹和git不忽略tmp/*tmp/,我遇到了一些部署问题。我的整个.gitignore是:

*.rbc
*.sassc
.sass-cache
capybara-*.html
.rspec
/.bundle
/vendor/bundle
/log/*
/tmp/*
/db/*.sqlite3
/public/system/*
/coverage/
/spec/tmp/*
**.orig
rerun.txt
pickle-email-*.html

取自GitHub gitignore repo。我该怎么办才能修复它?由于我的服务器上的本地更改(在tmp/文件夹中),例如error: Your local changes to 'tmp/cache/assets/D32/A10/sprockets%2F13fe41fee1fe35b49d145bcc06610705' would be overwritten by merge. Aborting.,我收到大量错误,因此我无法在我的开发机器上部署:(

3 个答案:

答案 0 :(得分:8)

启动项目后是否添加了.gitignore?如果在添加.gitignore之前已经存在tmp/cache/assets/whatever,则它仍然会在回购邮件中。

  1. 尝试git rm -r tmp && git commit从repo中删除整个tmp目录。

  2. 此时尝试部署以查看部署是否来自已知良好状态。如果它仍然不起作用,你知道还有其他问题。

  3. 如果一切正常,则不应再接收tmp的新更改。

  4. 另外,正如@thenetimp指出的那样,您当前的.gitignore将只会忽略/tmp,而不会忽略something/tmp。我不确定这是不是你的意图。

答案 1 :(得分:4)

删除/tmp/前面的正斜杠,它应为tmp/

答案 2 :(得分:1)

https://github.com/github/gitignore/blob/master/Rails.gitignore

上查看示例.gitignore文件

我还在http://www.wrel.de/gitignore-und-was-kommt-rein/(德语)

找到了一篇好文章