git add 过后并没有commit还原
2018-03-23 15:43
393 查看
项目中遇到的问题,当时的情况是,自己花时间重构一个项目,本来小有成就感,并且代码的整洁度挺好,眼看任务就好完成了,第二天,做一个东西,想看看为优化之前一个地方的属性名,手贱把所有的删除了,就想回到开发分支上看,结果,还好当时想着add ./一下,回到dev分支,进行各种操作后 git checkout .之后,over,所有都没了,当时很天真以为自己的分支上还有。结果就是全回到之前的状态了。
怎么办呢,发现自己并未提交,不能回到之前的版本了,通过查看日志,也没有想要的东西。
最后通过查询资料,本来放弃了,但是想着那么多的心血,得出结果。
执行:
$ find .git/objects -type f | xargs ls -lt | sed 60q 这里的60q就是最近的60次缓存
大概是这个意思,这个时候有个东西就很重要了,就是上面划线的地方
最后使用命令:git cat-file -p 064ca1f...(太多了) > a.md 后面的文件名可以自己定义。就可以发现你要得文件,回到了这个a.md里面了,兴奋的不要不要的。
参考:
https://blog.csdn.net/yeluosc/article/details/76690678
怎么办呢,发现自己并未提交,不能回到之前的版本了,通过查看日志,也没有想要的东西。
最后通过查询资料,本来放弃了,但是想着那么多的心血,得出结果。
执行:
$ find .git/objects -type f | xargs ls -lt | sed 60q 这里的60q就是最近的60次缓存
大概是这个意思,这个时候有个东西就很重要了,就是上面划线的地方
最后使用命令:git cat-file -p 064ca1f...(太多了) > a.md 后面的文件名可以自己定义。就可以发现你要得文件,回到了这个a.md里面了,兴奋的不要不要的。
参考:
https://blog.csdn.net/yeluosc/article/details/76690678
相关文章推荐
- 记录一次操作git 的愚蠢行为(本地代码只 git add 过,没有 commit ,push 过,然后版本回退 导致本地代码丢失)
- git 没有执行 git add . 直接执行git commit的解决方法
- git commit -a -m 'xx' 不会提交 没有add进来的文件新建文件
- 记录一次操作git 的愚蠢行为(本地代码只 git add 过,没有 commit ,push 过,然后版本回退 导致本地代码丢失)
- git reset(回退add操作)
- git没有changId解决方法
- github中添加一个.gitignore忽略文件,防止一些没有用的文件反复提交
- 本地没有初始化git的文件,如何提交到github上
- git pull出现Abort没有原因提示
- Git学习01 --git add, git commit , git log ,git status, git reset --hard, head
- 小花 - git add .不生效,管理不上文件
- 撤销git add操作
- git的搭建与使用,解决上传git成功后,没有看到工作目录的问题
- 工作中,git提交不成功,没有进入URL选项,怎样直接进入URL选项修改地址
- git 本地仓库和远程服务器仓库没有一样的提交,用git pull出错
- git add 命令的一个习惯用法:逐个挑选改动
- gitignore file already add
- [git] 细说commit (git add/commit/diff/rm/reset 以及 index 的概念)
- git 删除已经add但未commit的文件
- 使用git pull时,项目没有更新?