事情经过:
1.因为有很多文件要 git add。然后图方便直接使用的 git add ./,于是引入了一些不想要的隐藏文件夹。
2.然后就想撤销上一次操作,因为对 git 不是很熟,直接用的 git reset --hard commit_id 这种方式。然后我就懵逼了,git add 添加的内容全没了 - 。-
想问问大家还能有啥办法恢复么?
1
lzhr 2017-07-21 00:11:34 +08:00
git reflog
|
3
yangg 2017-07-21 09:16:15 +08:00 via iPhone
什么方法?
|
4
Jakesoft 2017-07-21 10:03:23 +08:00
如果没有 local history 应该是没有什么方法了,git 没有这种操作
|
5
wisej OP @yangg 先执行 git fsck --lost-found,会得到一串类似 commit-id 的东西,用 git show 查看可以发现就是丢失的文件内容。而这个内容就在 .git/lost-found/other 文件夹中。然后我就一个个用记事本打开复制粘贴回去的。如果你不仅 add 还 commit 了,好像可以更简单。
具体可以参考: https://stackoverflow.com/a/9928789/7962085 |
7
jeffh 2019-11-27 10:14:28 +08:00 via Android
楼主--hard 用错了,不加--hard 默认就是--mixed,这样就不会有问题。不过学到了 git fsck 命令,学习了
|