git代码提交了怎么撤回提交

场景一:

彻底完了,刚线上更新的代码出现问题了,需要还原这次提交的代码!
做push操作了,但是我想撤回来

命令方式:

1.输入git log 查看所有提交的版本

注意:黄色字体中 commit后面的一串码就是每一个版本号对应的码

2.回退到指定版本

== 注意:--hard 删除工作空间改动代码,撤销commit,撤销git add . ==

git reset --hard 版本号

reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。

3.推送代码

git push origin master -f

场景二
例如:

写完代码后,我们一般这样

git add . //添加所有文件

git commit -m "本功能全部完成"

执行完commit后,想撤回commit,怎么办?

说一下个人理解:

HEAD^的意思是上一个版本,也可以写成HEAD~1

如果你进行了2次commit,想都撤回,可以使用HEAD~2

至于这几个参数:
–mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。

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

–hard

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

注意完成这个操作后,就恢复到了上一次的commit状态。

顺便说一下,如果commit注释写错了,只是想改一下注释,只需要:

git commit --amend
### 如何撤回提交代码 #### 使用 `git revert` 撤销单个或多个提交 对于想要撤销最近的一个或几个提交的情况,可以采用 `git revert` 命令来实现。此命令会在保留原有历史记录的基础上新增一次反向的操作作为新的提交,从而达到逻辑上的撤销效果[^1]。 当需要撤销一系列连续的提交时,可以通过指定起始和结束的哈希值来进行批量处理: ```bash git revert <newest-commit-hash>..<oldest-commit-hash> ``` 这将会针对给定范围内所有的提交逐一创建对应的反转提交。 #### 利用 `git reset` 进行更彻底的更改 如果目标不仅仅是简单地取消某些改动而是希望完全移除这些变更,则可以选择使用 `git reset` 方法。该方式允许用户将分支指针移动至特定位置并调整工作目录的状态,具体取决于所选用的不同模式(soft, mixed 或 hard)。需要注意的是,这种方式不会像 `revert` 那样保存原始的历史记录,因此应当谨慎行事以防止意外丢失数据[^2]。 #### 特殊情况下的预防措施——备份重要文件 为了避免因误操作而导致不可逆的数据损失,在执行任何可能影响现有项目状态的动作之前,建议先做好充分准备,比如复制一份完整的源码副本放在安全的地方,以便于必要时刻能够迅速恢复初始状况[^3]。 #### 关键点提醒 值得注意的一点是,上述提到的各种撤回机制都只作用于本地环境中的暂存区域;除非显式推送更新到远端服务器上,否则远程仓库的内容保持不变[^4]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值