0


【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^" 
标签: git

本文转载自: https://blog.csdn.net/zjx1026/article/details/141924209
版权归原作者 Aristozjx 所有, 如有侵权,请联系我们删除。

“【Git】Git代码reset后代码恢复”的评论:

还没有评论