背景:
今天执行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