git撤销提交到本地的commit

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

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

提交前:

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

git撤销提交到本地的commit_第1张图片

 进行撤销操作:

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

git reset HEAD~1

git撤销提交到本地的commit_第2张图片

撤回代码(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打开代码文件,原代码不要搞到暂存区和本地直接切换分支改动的覆盖即可。

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

你可能感兴趣的:(git问题合集,git)