防止git删除rails中未跟踪的.gitignored文件

时间:2015-09-08 17:14:00

标签: ruby-on-rails git sqlite development-environment

我设法在我的rails应用程序中使用git clean删除以下文件:

Removing .DS_Store
Removing .bundle/
Removing config/application.yml
Removing db/development.sqlite3
Removing log/development.log
Removing public/system/profiles/avatars/000/000/011/
Removing public/system/profiles/avatars/000/000/012/
Removing tmp/

有没有机会以某种方式取回这些文件或能够从其他地方复制? (Git永久删除文件,所以垃圾是空的。我也尝试过使用磁盘钻,但是id也没有用完。)

如何正确保护我的gitignored文件以避免将来出现这种情况?我应该有时复制它们还是有其他程序来处理这个问题? 我是否必须重新创建我的rails应用程序或者有人知道更好的选择?

2 个答案:

答案 0 :(得分:2)

我认为您可以尝试在之前的提交中找到这些文件。

下次使用命令git rm --cached file_name

删除

答案 1 :(得分:0)

我能把它拉下来。我运行了bundle install(在.bundle中创建文件)并重新安装了sqlite和figaro。之后我运行了rake db:migrate,它创建了development.sqlite3文件。我丢失了开发数据,但这根本不是一个大问题。对于figaro,我不得不将键和密码(Sendgrid,Stripe等)重新键入新的application.yml文件中。临时文件和日志文件似乎并不重要。谢谢你的回答。这个$ git clean非常危险,请注意!