问题:idea提代码后,想撤销commit,怎么办捏??(T_T)
To Cimmit:里面填写 HEAD~1 点击Reset即可撤销上次commit的内容;
下面会详细介绍Reset Type:Mixed To Commit : HEAD~1 具体是什么意思!!
简单介绍一下git常用命令(idea提交就不用介绍了吧,工作中经常用到,如果有需要可以在评论下面说,后续可以添加介绍奥(●'◡'●)):
git add //添加要提交的内容 暂存区
git commit -m "提交的描述:大家最好把此次提交的信息简单描述一下" 本地仓库
执行完commit后,想撤回commit,怎么办?
git reset --soft HEAD^
这样就成功的撤销了你的commit
下面详细讲解参数具体的意思……
To Commot:参数详解
HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2或者HEAD^^,以此类推......
Reset Type:参数详解
首先了解:
工作区 - 暂存区 - 本地仓库
代码编写及修改是在工作区 - git add 将本地修改添加到暂存区 - git commit 将暂存区中的内容提交到本地仓库
--mixed (git reset的默认参数,即不添加参数的默认值)
意思是:不删除工作空间改动代码,撤销commit 和 撤销git add . 操作,回退到工作区
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
--soft
意思是:不删除工作空间改动代码,撤销commit,不撤销git add . 操作,
回退到git commit之前,此时处在暂存区。(即执行git add 命令后)
--hard
意思是:删除本地改动代码,撤销commit,撤销git add .
(三者的改变全都丢失,即代码的修改内容丢失,直接回退到某个版本;因此我们修改过的代码就没了,需要谨慎使用)
补充 hard类型,一定要慎用:
README.md 我修改了并且提交,但是还未push
README.en.md 是另外修改的文件,未提交
此时我要撤销我刚刚提交的内容 ,如下图:
但是如果你的类型选择的 Hard类型, 此时整个代码空间的代码都会被覆盖,意思就是你修改过的代码全部都没有了
可以看见, 刚刚的提交已经被撤销了,但是我本地修改的其他代码内容也被覆盖了,直接没有了,所以一定要慎用,如果你此时工作区还有其他功能未提交的代码,就都会被删除