怎么撤销 git commit 提交的代码
Posted 凯小默
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么撤销 git commit 提交的代码相关的知识,希望对你有一定的参考价值。
问题
比如:我在项目里面添加了一个新的组件 gitTest.vue
,
写完之后,我就提交代码:
git add .
git commit -m '提交git测试组件'
git reset 命令
git reset 命令用于回退版本,可以指定退回某一次提交的版本。
git reset 命令语法格式如下:
git reset [--soft | --mixed | --hard] [HEAD]
- -mixed 为默认,可以不用带该参数,用于重置暂存区的文件与上一次的提交(commit)保持一致,工作区文件内容保持不变。
- 不删除工作空间改动代码,撤销 commit,并且撤销
git add .
操作 git reset --mixed HEAD^
和git reset HEAD^
效果是一样的
- 不删除工作空间改动代码,撤销 commit,并且撤销
- –soft 参数用于回退到某个版本
- 不删除工作空间改动代码,撤销 commit,不撤销
git add .
- 不删除工作空间改动代码,撤销 commit,不撤销
- –hard 参数撤销工作区中所有未提交的修改内容,将暂存区与工作区都回到上一次版本,并删除之前的所有信息提交
- 删除工作空间改动代码,撤销 commit,撤销
git add .
- 删除工作空间改动代码,撤销 commit,撤销
实例:
$ git reset HEAD^ # 回退所有内容到上一个版本
$ git reset HEAD^ hello.php # 回退 hello.php 文件的版本到上一个版本
$ git reset 052e # 回退到指定版本
$ git reset --soft HEAD~3 # 回退上上上一个版本
$ git reset --hard HEAD~3 # 回退上上上一个版本
$ git reset --hard bae128 # 回退到某个版本回退点之前的所有信息。
$ git reset --hard origin/master # 将本地的状态回退到和远程的一样
注意:谨慎使用 –hard 参数,它会删除回退点之前的所有信息。
HEAD 说明:
HEAD
表示当前版本HEAD^
上一个版本HEAD^^
上上一个版本HEAD^^^
上上上一个版本
可以使用 ~数字表示
HEAD~0
表示当前版本HEAD~1
上一个版本HEAD~2
上上一个版本HEAD~3
上上上一个版本
解决
执行完commit后,想撤回commit,怎么办?
通过上面的 git reset 命令学习,可以知道:使用下面的命令
# 回退上一个版本,然后需要删掉代码
git reset --hard HEAD~1
执行完我们发现已经回退到了提交前的状态
可以输入查看日志命令:
git log --oneline -10
拓展
推荐阅读:Git 工具 - 重置揭密
以上是关于怎么撤销 git commit 提交的代码的主要内容,如果未能解决你的问题,请参考以下文章
Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突