git 错误操作回滚

回滚范例:
1.初始化并操作文件
$ git init                        //初始化
$ touch foo.txt                    //创建foo.txt文件,待提交git
$ git add foo.txt                //git add文件
$ git commit -m "initial commit”    //添加commit注释
$ echo 'new data' >> foo.txt        //第一次修改文件
$ git commit -a -m "more stuff added to foo”        //添加commit注释

2.查看提交记录
$ git log
* 98abc5a (HEAD, master) more stuff added to foo
* b7057a9 initial commit

3.模拟误操作重置状态
$ git reset --hard b7057a9
$ git log
* b7057a9 (HEAD, master) initial commit


NOTE:虽然已经在git log中看不到之前的head,但是reflog记录了你此前的操作。记录了所有head的修改历史。


4.查看Reflog
$ git reflog
b7057a9 HEAD@{0}: reset: moving to b7057a9
98abc5a HEAD@{1}: commit: more stuff added to foo
b7057a9 HEAD@{2}: commit (initial): initial commit


5.回滚丢失的head:
$ git reset --hard 98abc5a


6.再次查看git log 验证
$ git log
* 98abc5a (HEAD, master) more stuff added to foo
* b7057a9 initial commit



只要按照以上步骤,一般都可以正常回滚。除非你的错误操作被当做rubish丢弃了。理论上讲30天内reflog不会被清空。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值