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