现在的位置: 首页 > 综合 > 正文

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

2018年04月01日 ⁄ 综合 ⁄ 共 613字 ⁄ 字号 评论关闭

如果你不小心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

抱歉!评论已关闭.