git fsck命令找回git reset --hard的代码

记录一次使用git reset --hard 命令后,将本地修改代码删除后找回的例子

先创建测试文件库,内容如下

git fsck命令找回git reset --hard的代码_第1张图片
添加新的内容

git fsck命令找回git reset --hard的代码_第2张图片
查看修改的文件
git fsck命令找回git reset --hard的代码_第3张图片
提交修改的内容到暂存区中,不要push,这时使用 git reset --hard 将暂存区中的提交撤销,并且本地修改也回撤掉
git fsck命令找回git reset --hard的代码_第4张图片
这时内容已经改回之前的了,不小心把自己改了的代码也撤销了,这时需要找回。
git fsck命令找回git reset --hard的代码_第5张图片
使用命令:git fsck --cache --unreachable $(git for-each-ref --format="%(objectname)") 或者 git fsck --lost-found 可以列出悬空文件,所有add后的文件在没有commit之后被撤销,都会被记录成悬空文件对象
git fsck命令找回git reset --hard的代码_第6张图片
这时找到对应内容的文件,然后使用git reset --hard ID 或者 git merge ID撤回到对应的ID下就可以找回丢失的内容了
git fsck命令找回git reset --hard的代码_第7张图片

你可能感兴趣的:(GIT,git)