0


git错误解决

写在前面:

解决错误的最好的方式就是把错误扼杀在摇篮里,解决问题要仔细思考,然后慢慢验证,问题出现不可怕,可怕的是不断引入新错误

1、误操作git reset --hard HEAD^

首先首先明白这个命令的含义:

git reset --hard HEAD 是将工作区、暂存取和HEAD保持一致

举例:假设你现在有两个提交 用git log查看

committed_B

committed_A

现在committed_B提交的代码有问题,你现在你要撤销它

你使用了git reset --hard HEAD^

那么现在git log就会变为:

committed_A

同时使用git status没有任何需要git add的文件

因为你代码工作区 暂存区保持一致,因此现在相当于commited_B完全消失了,但是别急,可以找回:

使用git reflog查看过去提交的log

第二使用git cherry-pick取回丢失的提交

具体操作如下:

(1)git reflog

有三个log:

HEAD@{0}:你执行的git reset --hard HEAD^的log

HEAD@{1}:committed_B

HEAD@{2}:commited_A

(2)因为我们想要找回committed_B因此只需要用:

git cherry-pick 836ab53 即可 后面的数字是committed_B的hash值的前七位

至此成功找回丢失的提交

写在后面:

建议使用git reset HEAD^

或者:git reset --soft HEAD^

这样使用,工作区还会保留代码,有修改的余地,除非完全确定,否则不要轻易使用--hard

标签: git

本文转载自: https://blog.csdn.net/qq_43224197/article/details/123036299
版权归原作者 疯码妞不相及 所有, 如有侵权,请联系我们删除。

“git错误解决”的评论:

还没有评论