github如何恢复commit快照


我是一个github初级使用者,前两天,将本地库commit了一下,但是之后不小心将本地文件夹中的所有文件不知怎么删除了,之后又一个不小心将commit中的数据undo了一下,怪怪,由于之前的文件没有备份,我纠结了...


后来在在网上搜索了一些信息,终于找到了恢复的方法:


我们先来了解下github回退命令,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。命令如下:

$ git reset --hard HEAD^

这个时候,我们可以在git log 命令查看到commit信息了,

$ git log


下面开始解决我遇到的问题:

因为我commit之后进行了一次undo操作,所以我已经回到了我commit之前的一个版本,

那么我现在要得到我之前commit的那么版本怎么做?就用git reset命令。但是我的HEAD不知道怎么办?办法还是有的,不过有个前提,就是之前你git log显示的那个窗口没有关闭,我们顺着网上翻页,找到undo操作之前显示的那个commit的版本号,这个版本号类似于

commit ea34578d5496d7dd233c827ed32a8cd576c5ee85


我们进行下面命令:

$ git reset --hard ea3457

版本号没必要写全,前几位就可以了,Git会自动去找。当然也不能只写前一两位,因为Git可能会找到多个版本号,就无法确定是哪一个了。

这样我undo之前的commit就找到了。


上一篇 下一篇