在线救急, git 本地仓库不小心全部删除了还能恢复吗?

2023-11-08 14:43:17 +08:00
 eggt

在仓库内不小心执行了rm -rm * 直接把本地所有数据都清空了,现在主要的问题是还能找回本地修改的代码吗?git ststus显示所有文件都是delete的,执行了git checkout -- . 命令只是把不带本地修改的代码仓恢复了,但是这个没啥用啊,没有找回本地修改,大佬们有啥办法恢复本地修改的代码吗?

3469 次点击
所在节点    git
27 条回复
rming
2023-11-08 14:44:13 +08:00
无了
Kuromis
2023-11-08 14:46:14 +08:00
听你描述的情况,是不可能恢复了
gadfly3173
2023-11-08 14:48:20 +08:00
没有 commit 的话恢复不了,可以看看代码编辑器里的历史记录里还有没有,比如 idea 能保存最近 30 次内的修改
lechain
2023-11-08 14:48:25 +08:00
本地修改没有 add 就找不回来,连 add 都没 add 的文件,被删了找 git 也没有用,跟 git 都没扯上关系
snitfk
2023-11-08 14:52:31 +08:00
每天 commit 是个好习惯。
eggt
2023-11-08 14:53:20 +08:00
@gadfly3173 vscode 有这个功能吗
mt52
2023-11-08 14:55:05 +08:00
@eggt vscode 有个 TIMELINE, 保存文件历史版本你可以看下
Imindzzz
2023-11-08 14:56:01 +08:00
git reflog 试试
Imindzzz
2023-11-08 14:57:02 +08:00
先备份一下.git 目录吧
shuxhan
2023-11-08 14:59:33 +08:00
关键在于.git 文件夹,如果能找回万事大吉,里面保存所有的操作记录,听你的描述够呛找回。
eggt
2023-11-08 15:03:10 +08:00
@shuxhan 这个在啊,怎么利用它恢复啊
sechi
2023-11-08 15:05:23 +08:00
如果已经 add 了可以试一下 reflog ,如果没 add 那就寄了
eggt
2023-11-08 15:05:25 +08:00
@mt52 这个没用啊,只显示 git 的提交记录
lzgshsj
2023-11-08 15:35:36 +08:00
vscode 的话,有个时间线,可以本地历史记录的。
nutting
2023-11-08 15:39:07 +08:00
ide 自带的历史记录里找找
Yuhyeong
2023-11-08 15:45:38 +08:00
.git 文件夹还在吗,不在直接没了。在的话按道理说正常的 check 操作就能复原。用 rm -rf *,基本不可能恢复了。
段子成为现实
mcluyu
2023-11-08 15:50:25 +08:00
经常 commit , 经常 push , 一天好几回那种, 习惯养成, 收益良多,删了损失无非就是几小时的工作
shuxhan
2023-11-08 15:55:20 +08:00
@eggt #11 看错了,你最新的好像没有提交 commit 吧
eggt
2023-11-08 16:04:17 +08:00
@lzgshsj 没了啊,它加载变成了新文件😭
eggt
2023-11-08 16:38:53 +08:00
@lzgshsj 在时间线右上角三个点上点击了一下。发现了新大陆啊,找到本地历史记录了,太好了,非常感谢😂,我挨个恢复一下。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/989873

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX