【问题标题】:After reset --hard all my untracked files are gone重置后 --hard 我所有未跟踪的文件都消失了
【发布时间】:2019-02-02 03:39:21
【问题描述】:

我在没有提交文件的情况下进行了 git 硬重置。触发重置后,我检查了所有未跟踪的文件都消失了。我预计它只会影响我们在提交期间所做的更改,它只会重置这些更改。但是我错了。

有没有办法恢复我所有未跟踪的文件?任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 您需要遵循适合您的操作系统的任何程序来恢复已删除的文件。第一步是停止使用该驱动器。然后尝试寻找一些文件恢复软件,看看它是否可以找到磁盘上的文件分配并重新定位它们。只是谷歌“恢复删除的文件.......”
  • git reset --hard 不应该删除未跟踪的文件
  • @schildi 我起初也有同样的想法,但我认为这只是在阅读问题正文时与 未提交的更改 的术语混淆。

标签: git github ubuntu-16.04 git-reset


【解决方案1】:

如果您之前对未跟踪的文件执行了git add,则git reset --hard 将删除它们。 Git 没有恢复这些的过程,因为它们未被跟踪。您将需要找到另一个工具来执行此操作,例如您的操作系统或 IDE。 IntelliJ 有一个“本地历史”工具,您可以利用它来恢复这些文件。

为了将来的参考,请首选git stash 而不是git reset --hardgit stash 使用您的更改创建一个临时的“存储”提交。这些可以通过git stash applygit stash pop 轻松检索。当您使用 git reset --hard 核对您的工作目录时,撤消要困难得多,有时甚至是不可能的。

【讨论】:

  • 请注意,如果您已完成git add,Git 会将文件作为对象保存在数据库中,您可以使用git fsck --lost-foundadd 时间起大约两周内检索其内容。 names 消失了,这有点痛苦(或非常痛苦)。
  • 但如果您按文件创建日期成功排序它们会有所帮助。
猜你喜欢
  • 2018-07-20
  • 2020-09-19
  • 2011-05-18
  • 1970-01-01
  • 1970-01-01
  • 2013-06-13
  • 1970-01-01
  • 2018-07-21
  • 2018-07-02
相关资源
最近更新 更多