git撤销提交到本地的commit

2024-01-10 05:57:17

有些时候,当我们提交代码到本地后,突然发现因为某些原因需要撤销提交本地的代码。

就比如我,因为代码写错了分支,已经提交到本地了,而我需要取消,并且还要把代码搞得另外的分支上。

提交前:

(可以看到提交到本地的记录)

?进行撤销操作:

(本次为撤回上一次的本地提交)

git reset HEAD~1

撤回代码(3种):

方式1:

 git reset --soft HEAD^

表示不删除工作空间代码,撤销commit,保留git add .操作

?HEAD^ 表示回到上一个版本(在push之前你可能有多次commit),也可以写成DEAD~1

两次提交本地记录就把DEAD~1改成DEAD~2就可以了。

?方式2:

 git reset --mixed HEAD^

表示不删除改动过的代码,撤销commit,并且撤销git add . 操作,

这个为默认参数(git reset --mixed HEAD^和git reset HEAD^操作效果一样)

?方式3:

 git reset --hard HEAD^

表示删除工作空间代码,撤销commit,撤销git add .操作,
在完成这个操作之后恢复到上一次commit的状态

!!!!!!!!!!(有改动的代码没了)!!!!!!!!!!

?以下问题应以电脑,软件,分支而异:

以下是我个人的操作,不喜勿喷,不想进行其他操作了,简单粗暴

写错的分支为dev分支,而我本来是需要写在dev的版本分支上的

我用的较多的是vscode,但是切换分支必须提交本地才能切换,不然会报错且无法切换分支。

IJ打开代码文件,原代码不要搞到暂存区和本地直接切换分支改动的覆盖即可。

这样操作可以让写错分支的代码搞到需要的分支上。

文章来源:https://blog.csdn.net/qq_71214810/article/details/135482988
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。