大佬们,新文件 git add 之后不小心 git rm -f 了

2018-09-14 12:23:57 +08:00
 l0ng

还能拯救吗😭

2281 次点击
所在节点    git
8 条回复
pexcn
2018-09-14 13:00:47 +08:00
如果不是删除了 .git 目录,试试 git checkout -- <file_name>
pexcn
2018-09-14 13:02:38 +08:00
看错了,先 git reset HEAD <file_name>
shalk
2018-09-14 13:05:26 +08:00
不能了 你没有 commit,rm 已经把 staging 的也删除了,-f 在文件系统上也删除了。

没多少行就自己写一下
jasonyang9
2018-09-14 13:11:50 +08:00
可以的吧,add 就已经生成 git object 了
jasonyang9
2018-09-14 13:13:11 +08:00
commit 一次,然后 checkout file.ext
jasonyang9
2018-09-14 13:14:30 +08:00
看错了,`git rm -f`,猝
l0ng
2018-09-14 13:17:22 +08:00
没有提交 commit

用 git fsck --lost-found 找回来了,谢谢楼上各位热心大佬

结贴
lululau
2018-09-14 13:17:45 +08:00
In zsh: print -l .git/object/**/*(.om)

假设输出为:

.git/objects/cc/628ccd10742baea8241c5924df992b5c019f71
.git/objects/12/72fb4bd180e5c6c681f8d76a1c36e797e2bf9e
.git/objects/aa/a96ced2d9a1c8e72c56b253a0e2fe78393feb7
.git/objects/ce/013625030ba8dba906f756967f9e9ca394464a
........
.......

看看开头的几行是不是你删掉的文件:

git cat-file -p cc628c
git cat-file -p 1272fb

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

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

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

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

© 2021 V2EX