git - 使用未提交的文件撤消 git reset --hard
问题描述
我有一个现有的 java 项目,我做了以下
cd existing_folder
git init
git remote add origin URL
git add .
git reset --hard
我不小心做了git reset --hard有没有办法恢复我的数据
就是这样,它删除了我项目的所有目录和文件
解决方案
您可以尝试从索引对象中恢复。我想你正在寻找这个。
以前阶段性的更改(git add)应该可以从索引对象中恢复
git reset HEAD@{0}
您可以使用git reflog show
列出索引
git reflog show
输出将像一个
93567ad HEAD@{0}: reset: moving to HEAD@{6}
203e84e HEAD@{1}: reset: moving to HEAD@{1}
9937a76 HEAD@{2}: reset: moving to HEAD@{2}
203e84e HEAD@{3}: checkout: moving from master to master
203e84e HEAD@{4}: reset: moving to HEAD~1
9937a76 HEAD@{5}: reset: moving to HEAD~1
d5bb59f HEAD@{6}: reset: moving to HEAD~1
9300f9d HEAD@{7}: commit: fix-bug
更详细的信息从 git reset --hard 中恢复?
您也可以使用 . 将对象写入其中,.git/lost-found/
您 git fsck --lost-found
可以使用它git show <filename>
来查看每个文件的内容。
推荐阅读
- node.js - 为什么 toString() 可以在参数上调用但不能直接调用
- html - 在响应式设计中将两行文本包裹在一起
- python - 从 Jinja2 中的连接字符串渲染 python dict
- r - 将 str_match 与后视一起使用 (U_REGEX_LOOK_BEHIND_LIMIT)
- css - 如何在引导程序 4 容器流体中左对齐元素
- reactjs - Reactjs - 使用 flexbox 的基本列拆分
- haskell - 了解惰性评估的局限性(埃拉托色尼筛法)
- object - 尝试在构造函数中遍历 Object 数组
- amazon-s3 - S3托管网站Cloudfront分发和API网关自定义域指向同一个子域
- node.js - 如何通过节点 js express 中的 API POST 路由保存两条记录