【问题标题】:Recover initial files after git reset --hard HEAD~ [duplicate]在 git reset --hard HEAD~ 之后恢复初始文件 [重复]
【发布时间】:2020-05-04 19:06:03
【问题描述】:

请帮忙!我一直在几台计算机之间工作,并想跟踪我的非编程功课。我在 Github 上建立了一个初始存储库,在我的本地计算机上启动它,然后继续在我的学校目录中添加所有文件,提交这些文件,然后尝试将它们推送到存储库。但是,我没有意识到 GIS 文件有多大,所以推送一直失败。我想向后退,这样我就可以创建一个 .gitignore 文件来跳过大文件,并尝试使用以下命令清除提交:

git reset --hard HEAD~

我不知道这不仅会取消跟踪文件,还会从我的文件系统中删除它们。现在我丢失了整个学校目录。

谁能建议如何恢复任何文件?我在别处找不到答案。

编辑:下面的答案效果很好,结果如下:

D:\Documents\College\Masters\[MyUniversity]>git reflog
99b0b97 (HEAD -> master, origin/master) HEAD@{0}: reset: moving to 99b0b97
99b0b97 (HEAD -> master, origin/master) HEAD@{1}: reset: moving to HEAD~
a291e5a HEAD@{2}: reset: moving to HEAD
a291e5a HEAD@{3}: commit: added all files
99b0b97 (HEAD -> master, origin/master) HEAD@{4}: commit (initial): first commit

D:\Documents\College\Masters\[MyUniversity]>git reset --hard a291e5a
Updating files:   0% (37/8608)            

【问题讨论】:

  • 请原谅最初的怪异...我惊慌失措并忘记了我的自动备份。我有所有东西的备份,但是知道是否有办法撤消 git reset 仍然是一件好事。

标签: git github git-reset recover


【解决方案1】:

使用git reflog 获取提交的修订版,然后重置为它:

git reset --hard the-id-of-the-commit-from-reflog

【讨论】:

  • 太棒了,谢谢!重置到第二个版本恢复了我的文件。我更新了上面的问题以显示结果。
猜你喜欢
  • 2011-08-19
  • 1970-01-01
  • 2011-12-19
  • 1970-01-01
  • 2013-01-17
  • 2011-08-12
  • 2017-03-21
  • 2019-06-30
相关资源
最近更新 更多