900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > git reflog 时光穿梭机

git reflog 时光穿梭机

时间:2020-10-07 23:45:24

相关推荐

git reflog 时光穿梭机

目录

一、问题描述

二、解决

一、问题描述

小白花费一周时间做了git log如下所示6个功能。

commit的信息就是做了6个功能,每个功能对应一个commit的提交,分别是feature-1 到 feature-6”,然后执行强制回滚,git reset --hard 2216d4e。回滚到了feature-1上,并且回滚的时候加了--hard,导致之前feature-2 到 feature-6的所有代码全部弄丢了,现在git log上显示如下:

小白还在这个基础上新添加了一个commit提交,信息叫feature-7,

现在情况就是feature-2到feature-6内容不见,还多了个feature-7,请问如何把丢失的代码feature-2 到 feature-6全部恢复回来,并且feature-7的代码也要保留呢?

二、解决

使用命令:git reflog 和git cherry-pick

首先,在git终端输git reflog,就会展示出所有你之前git操作。

git reflog

记好两个值:4c97ff3和cd52afc,他们分别是feature-7和feature-6的hash码。然后执行回滚,回到feature-6上:

git reset --hard cd52afc

好了,现在feature-6之前的代码已经恢复,剩下就来加上feature-7,执行git cherry-pick命令,我们之前已经知道feature-7的hash码为4c97ff3。期间可能有冲突,按提示解决即可。

git cherry-pick 4c97ff3

最终,问题得以解决,git log结果如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。