【问题标题】:accidentally removed all files noted in .gitignore and I want them back不小心删除了 .gitignore 中记录的所有文件,我希望它们回来
【发布时间】:2015-11-20 20:49:43
【问题描述】:

我运行了以下命令,这是一场灾难。

$ git clean -xfd
=>
Removing config/application.yml
Removing config/honeybadger.yml
Removing log/development.log
Removing log/production.log
Removing notes.rb
Removing public/assets/global/plugins/angularjs/plugins/angular-file-upload/uploads/
Removing public/assets/global/plugins/icheck/demo/css/custom.styl
Removing public/assets/global/plugins/icheck/demo/js/custom.js
Removing test/controllers/calculators/
Removing tmp/

它立即删除了所有未被 git 跟踪的文件(需要)。但它也删除了所有重要的文件,但在我的 .gitignore 中被忽略了。我该如何取回这些文件?

【问题讨论】:

  • 现在是not looking very good
  • 但是,这些曾经中的任何是否被跟踪,因此可能出现在某个分支的某个地方?如果是这样,您也许可以恢复这些文件的某些版本。
  • 感谢您的链接,蒂姆。我不认为他们是。我确实吸取了教训。
  • 好吧,没那么快,这些文件是否只存在于您的本地计算机上并且您从未在其他地方备份它们吗?
  • 一些智能 IDE 也会跟踪本地更改。如果你一直在用,那还是有希望的。

标签: git


【解决方案1】:

除非您有其他保护措施(例如 Time Machine 或其他一些硬盘备份系统),否则无法正常恢复所述已删除文件。

如果确实如此,我会尽快关闭计算机,并将硬盘驱动器发送到恢复实验室以恢复文件(如果您没有重写驱动器空间,他们可以这样做与其他数据)。当然,这取决于您对这些文件的需求程度。

【讨论】:

    【解决方案2】:

    git checkout -- .gitignore

    如果您在将文件添加到索引或提交之前删除了该文件,很遗憾该文件丢失了,您必须重新创建它(使用您最喜欢的文本编辑器)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      相关资源
      最近更新 更多