Git commit代码后撤销方法

本文介绍如何使用Git命令回退至上一次提交的状态,包括不同参数的使用方法,如--soft、--mixed和--hard,以及如何根据需要选择回退到特定的提交次数。

一般git提交代码分为三步
第一步 add 到本地暂存区
第二步 commit 提交到本地仓库
第三步 push到代码远程仓库

我们看第二步 一般我们开发用idea直接操作后
但是发现commit错了 push的时候不想带它怎么办
(简单啊:删除掉重新clone啊/手动滑稽)

页面下方打开terminal
在这里插入图片描述
输入:git reset --soft HEAD~1
即可回退到上次commit的状态,本地代码并不会消失

这命令里面可以带几个参数
–mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD~1 和 git reset HEAD~1 效果是一样的。

–soft
不删除工作空间改动代码,撤销commit,不撤销git add .

–hard
删除工作空间改动代码,撤销commit,撤销git add .

注意完成这个操作后,就恢复到了上一次的commit状态。
当然后面的1 2 3也是动态参数 输入1 即是恢复到上一次提交状态 2 即是上两次。。

好了 虽然有这个回退的办法 但是小伙伴们平时提交代码时候还是要多注意喔 不要把无意义的错误的代码提交到仓库 避免麻烦

### 如何在 Git撤销已经 Commit操作 当需要撤销已经 `commit` 的操作时,有几种不同的方法取决于具体的需求。 对于最近一次的提交,如果仅需更改提交信息而不改变任何文件内容,则可以直接使用命令来修正提交信息而无需完全撤销整个提交: ```bash git commit --amend ``` 这会打开默认的文本编辑器允许修改最后一条消息的内容[^2]。完成编辑之后保存退出即更新了最新的提交说明。 若是想要取消掉最新的一次提交但是保留这些改动作为未暂存的状态以便重新调整或放弃部分变更的话,可采用软重置的方式处理: ```bash git reset --soft HEAD^ ``` 上述指令将会把当前分支指针回退到上一个版本的位置(`HEAD~1`),不过工作目录中的所有变动仍然会被保持下来处于已添加至索引状态,这样就可以继续编辑再做新的提交或是通过其他方式管理这些变化[^1]。 另外一种情况是希望彻底移除某次特定的历史提交记录及其引入的所有更改,并且创建一个新的提交反映这次“反向”的操作,在这种情况下应该运用 `revert` 功能: ```bash git revert <commit-hash> ``` 这里 `<commit-hash>` 是目标提交对象唯一的哈希字符串标识符。此命令执行的结果是在现有历史之上新增加了一条相反效果的新提交用于抵消指定旧版的影响[^3]。 值得注意的是所有的这些撤回动作都只影响本地副本直到显式推送才会同步给远端仓库[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值