多语言展示
当前在线:537今日阅读:60今日分享:41

git reset -hard 的误操作的解决办法

有时候使用Git工作得小心,特别是涉及到一些高级操作,甚至一些很小的操作,例如删除一个分支。其实没有必要,只要git库不删除,就可以恢复,因为git的历史记录是不可修改的,也就是说你不能更改任何已经发生的事情。你做的任何操作都只是在原来的操作上修改。也就是说,即使你删除了一个分支,修改了一个提交,或者强制重置,你仍然可以回滚这些操作。
工具/原料

git

方法/步骤
1

打开git库文件,可以看到文件夹内的所有文件都没了,只有一个git仓库还存在。

2

这时在文件夹上右击,在弹出的菜单中选择'Git Bash Here'这一项。

3

进入Bash页面后,我们执行ls操作,可以发现,文件夹下同样不存在文件。

4

这时我们再执行git reflog。reflog它会记录所有HEAD的历史,也就是说当你做 reset,checkout等操作的时候,这些操作会被记录在reflog中。

5

如果我们要找回文件,只需要做如下操作(*表示上一步中出现的log号):git reset --hard *

6

我们再次执行ls操作,可以发现文件已经还原回来了,如下图所示。

7

我们在打开文件夹,下图显示文件已经找回。所以,如果因为reset等操作丢失一个提交的时候,你总是可以把它找回来。

推荐信息