三分钟教你学Git (四)之紧急救助

假设你不小心git reset --hard HEAD^

然后这个commit又没有在别的git仓库中,怎么办?是不是这次改动就丢了呢?


当然不是,git为我们每次都历史都保留了reference log

例如以下:

$ git commit -A -m "hongchangfirst commit"

你如今看git的历史记录,你能够看到两次提交:
$ git log
* d1f3fg5 (HEAD, master) hongchangfirst commit



如今让我们来重置回第一次提交的状态:
$ git reset --hard HEAD^

这次的提交没有了,可是我们还是有办法恢复的,由于有个reflog会记录全部HEAD的历史。例如以下:

$ git reflog
a6h8jha HEAD@{0}: reset: 
d1f3fg5 HEAD@{1}: commit: hongchangfirst commit



所以,我们要找回丢失的commit,仅仅需这样:
$ git reset --hard d1f3fg5


再来看一下 git 记录:
$ git log
* d1f3fg5 (HEAD, master)hongchangfirst commit

好了,就这样。

原文:http://blog.csdn.net/hongchangfirst/article/details/30458313

作者:hongchangfirst

hongchangfirst的主页:http://blog.csdn.net/hongchangfirst


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值