求救
Topic source如果你从来没有add过,那你的文件没有被git管理。然后通过git reset之后,你整个工作区的所有文件都会回到暂存区的那个状态,那些没有add的文件,其实相当于rm -rf了,永远找不回来。
add过的可以找回来,add的时候会把文件内容保存为blob对象存入到.git/objects目录下。
git cat-file --batch-check --batch-all-objects | grep blob可以列出所有blob,譬如"ce013625030ba8dba906f756967f9e9ca394464a blob 6"。通过git show ce013625030ba8dba906f756967f9e9ca394464a可以打印其内容。可以通过遍历这些blob找到被reset掉的版本。如果没有git gc过,可以先用ls -l .git/objects根据时间筛选下最可能的blob,以缩小检查范围。
- 1
用户6291538196
您好,请问我执行git reset --hard HEAD命令之后本地文件全都没了,还能恢复吗,之前没有add 没有commit过