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

2018 年 9 月 14 日
 l0ng

还能拯救吗😭

2623 次点击
所在节点    git
8 条回复
pexcn
2018 年 9 月 14 日
如果不是删除了 .git 目录,试试 git checkout -- <file_name>
pexcn
2018 年 9 月 14 日
看错了,先 git reset HEAD <file_name>
shalk
2018 年 9 月 14 日
不能了 你没有 commit,rm 已经把 staging 的也删除了,-f 在文件系统上也删除了。

没多少行就自己写一下
jasonyang9
2018 年 9 月 14 日
可以的吧,add 就已经生成 git object 了
jasonyang9
2018 年 9 月 14 日
commit 一次,然后 checkout file.ext
jasonyang9
2018 年 9 月 14 日
看错了,`git rm -f`,猝
l0ng
2018 年 9 月 14 日
没有提交 commit

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

结贴
lululau
2018 年 9 月 14 日
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