【Git】Git代码reset后代码恢复
项目场景:代码git commit 后,想要撤回使用了错误的命令git reset --hard HEAD^(该命令功能是撤回commit,并且放弃对文件做的全部更改),此时全部提交的代码丢失了,先要找回丢失的代码
问题描述
使用了错误的命令git reset --hard HEAD^,导致代码丢失,需要找回
缘故原由分析:
想要撤回git commit命令提交的内容,但是不想要代码丢失,应该使用命令git reset --soft HEAD^ (撤回commit并保留对文件的更改以便重新提交),而不应该使用git reset --hard HEAD^(撤回commit,并且放弃对文件做的全部更改)
办理方案:
前提:git上传代码到堆栈add、commit、push,代码必须是commit过的才有效,只有add不可。
第一步:git fsck --lost-found
https://i-blog.csdnimg.cn/direct/dfafaaadb1164e6a9a44bb1a200552d3.png
找到commit过的代码陈迹,dangling commit后面跟的就是代码。
第二步:git show https://i-blog.csdnimg.cn/direct/90cdc923b23c4c688fc8911a6ba80370.png
检察是否是自己删除的代码。
第三步:git rebase
https://i-blog.csdnimg.cn/direct/69c219ba31be48339d830a85c67e3c3f.png
完成上述3个步调即可恢复已经提交但是被git reset --hard HEAD^命令删除的代码了
留意:在cmd窗口中使用命令git reset --soft HEAD^ 会提示more,由于cmd控制台中换行符默认是^ ,而不是\,所以more?的啥意思是问你下一行是否需要再输入,而^符号就被当做换行符而被git命令忽略掉了,办理方法为使用git reset --soft "HEAD^"
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]