从git中恢复丢失的树(尚未提交)

时间:2016-12-22 20:55:36

标签: git

我是个白痴。我开始了一个新项目并花了几个小时,然后决定它应该是git。所以我做了git init,然后做了git add .。然后我意识到我没有复制.gitignore所以在提交之前我想回去添加它。 我没有想到我做了git reset --hard而且发生了明显的事情。

然而 - 如果我做git fsck,就会有大量的悬空斑点和一棵缺失的树#34;

> git fsck
notice: HEAD points to an unborn branch (master)
Checking object directories: 100% (256/256), done.
notice: No default references
dangling blob 04600b0b0185210bb56c8510538d8578b9451267
dangling blob 3b5f525f59d5fdf71a148d9bc04a80912006c5f7
dangling blob 3f4f89e0767381f0dae2c24b25abee3dffbca061
missing tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904
dangling blob 504f47a8ce6bd4dc3bd1694da5ed3173efe17703
dangling blob 53c94aabbffadab697f9e689a0037999bf906032
etc...

所以我可以恢复所有文件 - 但是有一种快速简单的方法可以使用文件名将它们全部带回来并使用丢失的树在正确的位置吗?

git reset HEAD@{1}正如其他地方所建议的那样 fatal: ambiguous argument 'HEAD@{1}': unknown revision or path not in the working tree.

1 个答案:

答案 0 :(得分:0)

由于你从未提交过,从不写树,因此路径名已经消失。