git 找回丢失的commit
来源:互联网 发布:广明发淘宝代运营诈骗 编辑:程序博客网 时间:2024/05/01 23:01
From : http://dmouse.iteye.com/blog/1797267
git 的错误操作,导致丢失了重要的commit,真是痛不欲生;
最后通过git神器终于找回了丢失的commit,但是需要总结和反思的地方有一些,同时需要加深git的学习,特献上本文以供参考
执行git reset --hard HEAD~1 ,删除了commit3,但是发现reset错了,晕菜了……
还好有后悔药(感叹git的强大啊,神马意外情况都考虑到了)满血恢复commit3,执行如下步骤:
- git reflog
- 502dd0f HEAD@{0}: HEAD~1: updating HEAD
- 147b3b5 HEAD@{1}: commit: test3
- 502dd0f HEAD@{2}: commit: test2
- 0692c03 HEAD@{3}: commit (initial): test1
- git reset --hard 502dd0f
- git cherry-pick 147b3b5
丢失的commit3终于回来啦~~~~
虽然有利器,但是需要总结和反思的是,慎用reset hard啊,实在不行reset merge也是不错的选择。
===================================================
通过这次错误的使用reset,反思需要加强对reset的了解,不能再盲目的使用了
git reset [--hard|soft|mixed|merge|keep] [<commit>或HEAD]
作用:将当前分支reset到指定的<commit>或者HEAD(默认为最新的一次提交,即重设到最新一次提交之前的版本)
备注:
index,执行git add的操作,会对文件创建索引,所有被跟踪的文件索引会放入index,表示文件被修改待提交
working tree,当前工作区,被修改但未被add的文件,存储在工作区
ORIG_HEAD,用于指向前一个操作状态,每次的commit或者pull或者reset,git 都会把老的HEAD拷贝到.git/ORIG_HEAD,通过对ORIG_HEAD的引用可 以指向前一次的操作状态
1、hard(慎用)
重设index和working tree,所有改变都会被丢弃,包括文件的修改、新增、删除等操作,并把HEAD指向<commit>,
因此通过git log查看版本提交记录,被reset的版本记录会被丢弃,但可以通过git reflog查看
2、soft
不重设index和working tree,仅仅将HEAD指向<commit>,表示已经commit的文件会取消commit,
通过git status查看,文件会处于待commit状态“Changes to be committed”
3、mixed(默认)
重设index,但不重设working tree,表示已经被add的文件,被取消add,
通过git status查看,文件会处于待添加索引状态 “Changes not staged for commit”
4、merge
重设index,重设working tree中发生变化的文件,但是保留index和working tree不一致的文件
5、keep
重设index,重设working tree中发生变化的文件
0 0
- git 找回丢失的commit
- git 找回丢失的commit
- git 找回丢失的对象 找回commit
- 通过git cherry-pick找回丢失的commit
- git找到丢失的commit
- git rebase 后找回消失的commit
- git找回commit
- git中找回丢失的对象
- Git ---游离状态下的commit 分支切换与找回
- 找回git reset中只 add,未commit的内容
- 找回差點丟失的commit
- git rebase后commit丢失
- git rebase后commit丢失
- 找回丢失的权限
- 找回丢失的磁盘空间
- 如何用git reflog和git cherry-pick找回已删除的commit记录
- git rebase后丢失本地commit记录
- 找回AutoCAD丢失的菜单
- 上海户口,8年奋斗
- ceph存储 centos下fuser命令小结
- ceph存储 linux中的零拷贝技术小结
- 2014年12月31日这一天,我想说明天会更好!
- 回首2014 展望2015
- git 找回丢失的commit
- LEETCODE: Flatten Binary Tree to Linked List
- 网狐游戏平台开发,防攻击方案定做。
- JSON 串 自定义解析字段
- 1006. Sign In and Sign Out (25)
- 高仿拉手网,底部菜单的实现 FragmentActivity+Fragment+RadioGroup
- 漫谈程序员系列:群星闪耀的黄金时代
- ceph存储 FUSE原理总结
- 英语,你是否渐入佳境?