2015-09-08 67 views
0

我設法刪除對以下用git文件清理在我的Rails應用程序:防護混帳去除未跟蹤.gitignored文件中軌

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永久刪除文件,所以垃圾是空的,我也試過w/disk drill,但是id也沒有解決)

如何正確保護我的gitignored文件以避免將來出現這種情況?我有時應該複製它們還是有其他程序來處理這個問題? 我是否必須重新創建我的導軌應用程序,或者有人知道更好的選擇?

+0

除非你從github上擦掉它們,否則它們應該在你的歷史中。您可以在適當的位置重新創建文件,並從github倉庫複製/粘貼代碼 – HolyMoly

+0

使用git clean -x -d -f我刪除了未跟蹤的文件。這些文件未被跟蹤,因爲它們包含在.gitignore文件中,所以據我所知我從未將它們推送到github。 –

+0

你可能不想說'-x',因爲它明確地刪除了被忽略的文件......正是你不想要的東西。但那是未來。我很抱歉地說,沒有什麼可以解決過去的問題。 – Wolf

回答

2

我想你可以嘗試在以前的提交中找到這些文件。使用命令git rm --cached file_name

+0

用git clean -x -d -f我刪除了未跟蹤的文件。這些文件未被跟蹤,因爲它們包含在.gitignore文件中,所以據我所知我從未將它們推送到github。 –

+0

所以,我認爲很難恢復它們。 – asiniy

0

下一次刪除我能夠把它關閉。我運行bundle install(在.bundle中創建文件)並重新安裝了sqlite和figaro。之後,我運行了rake db:migrate,它創建了development.sqlite3文件。我失去了開發數據,但這根本不是一個大問題。對於figaro,我不得不將鍵和密碼(Sendgrid,Stripe等)重新輸入到新的application.yml文件中。臨時文件和日誌文件似乎並不重要。感謝您的答案。這$ git clean很危險,小心!