git 回退之前的版本(详细解说)

本文详细介绍了如何在Git中回退代码,包括两种情况:一是本地commit但未push,可以使用`git reset --soft`或`--hard`命令;二是代码已push到远程仓库,推荐使用`git revert`来保持线上线下一致。注意`git reset --hard`会丢失未提交的改动,而`git revert`则会产生一个新的反向提交。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

场景重现

在解释git commit后回退的操作前,先重现一下场景:

        一个项目,你接手的时候,从git仓库下载到本地。当前仓库的commitId是AAA。你在本地编辑后,觉得OK了,要提交上去,你提交的commitId是BBB。BBB与AAA区别就是包含了你辛苦开发的代码。

      OK。现在问题就是。当你提交BBB以后,发现有些文件提交错了,需要撤回。怎么办呢?

git如何撤销上一次commit操作

1.第一种情况:还没有push,只是在本地commit

(成功案例

1. git  log (获取commitId)

2. git reset --soft commitId 即可

)

git reset --soft|--mixed|--hard <commit_id>
git push develop develop --force  (本地分支和远程分支都是 develop)

这里的<commit_id>就是每次commit的SHA-1,可以在log里查看到

--mixed    会保留源码,只是将git commit和index 信息回退到了某个版本.
--soft   保留源码,只回退到commit信息到某个版本.不涉及index的回退,如果还需要提交,直接commit即可.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值