ToB企服应用市场:ToB评测及商务社交产业平台

标题: 【Git】Git代码reset后代码恢复 [打印本页]

作者: 罪恶克星    时间: 2024-11-21 14:25
标题: 【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

找到commit过的代码陈迹,dangling commit后面跟的就是代码。
第二步:git show [dangling commit后面的字符串]

检察是否是自己删除的代码。
第三步:git rebase [dangling commit后面的字符串]

完成上述3个步调即可恢复已经提交但是被git reset --hard HEAD^命令删除的代码了

   留意:在cmd窗口中使用命令git reset --soft HEAD^ 会提示more,由于cmd控制台中换行符默认是^ ,而不是\,所以more?的啥意思是问你下一行是否需要再输入,而^符号就被当做换行符而被git命令忽略掉了,办理方法为使用git reset --soft "HEAD^"

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4