git rebase成功后,如何撤销

背景:

今天执行rebase时候,出现代码冲突,由于粗心,把同事的代码给合没了,虽然只有3行代码,可以快速手动添加回来,
但是这就多了一个提交记录,那是否可以回到rebase之前的状态,再重新执行一次rebase呢?

答案:显然是可以的。

解决思路:

撤销上一次rebase操作,返回到rebase之前的代码状态,再重新执行rebase操作。

具体步骤:

1、执行 git reflog,可以查看所有操作日志:

826e5e74d1 HEAD@{21}: checkout: moving from feature/1.1.20_3Dplump_forehead_zxl to develop
98c38fdcc9 (feature/1.1.20_plump_forehead_zxl) HEAD@{22}: rebase (continue) (finish): returning to refs/heads/feature/1.1.20_plump_forehead_zxl
98c38fdcc9 (feature/1.1.20_plump_forehead_zxl) HEAD@{23}: rebase (continue): 【feature】上传云存储
90e2132228 HEAD@{24}: rebase (continue): 【feature】3D头
2b56161c25 (origin/feature/feature_rhinoplasty) HEAD@{25}: rebase (start): checkout 2b56161c25ce4eef460c2e0fd8ffafaff57daa63
bbc9da41b5 HEAD@{26}: commit: 【feature】上传云存储

从以上记录可以得出信息:
在分支(feature/1.1.20_plump_forehead_zxl) 进行了rebase,
执行rebase的节点是 bbc9da41b5 HEAD@{26}
那么我想回到rebase之前的状态,只要执行命令:

2、执行命令 git reset --hard 回到初始状态

git reset --hard HEAD@{26}
或者
git reset --hard bbc9da41b5

3、延伸 git reflog + git reset --hard 可以撤销任何命令,回到你想要的节点。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容