Git回滚到指定版本的方法:reset、revert

开发过程中,难免遇到提交代码之后想撤销提交操作,让程序回退到提交前的样子,Git版本回滚通常有两种解决方法:回退(reset)、反做(revert)。
方法一:git reset
原理: git reset的作用是修改HEAD的位置,即将HEAD指向的位置改变为之前存在的某个版本。适用场景: 如果想恢复到之前某个提交的版本,且那个版本之后提交的版本我们都不要了,就可以用这种方法。
例如当前在版本三,想回退到版本一,同时丢弃掉版本二和版本三的所有改动,可使用reset操作。在这里插入图片描述
reset之后当前版本变成版本一,同时原本版本二和版本三的提交都被清除了。
在这里插入图片描述
方法一reset的操作步骤:

  1. 使用git log查看版本号
git log

在这里插入图片描述

  1. 使用“git reset --hard 目标版本号”命令将版本回退。
    举例我要回退到9feb83df6db8b132004325ab03377b2088cba540这个提交的版本:
git reset --hard 9feb83df6db8b132004325ab03377b2088cba540

在这里插入图片描述

  1. 回退完之后可用git log再检验当前版本。
    在这里插入图片描述

  2. 使用“git push -f”提交更改:

git push -f

因为我们回退后的本地库HEAD指向的版本比远程库的要旧,此时如果用“git push”会报错。如下:
在这里插入图片描述
改为使用 git push -f 即可完成回退后的提交。
在这里插入图片描述
方法二:git revert
revert操作,适用于撤销某一版本,而保留该版本之后的其他版本提交。适用场景:例如某需求先后进行过第一、第二、第三次版本提交之后发现第二个版本有问题,需要撤销第二个版本的操作,同时保留第三次版本的提交,可使用git revert操作。
操作步骤:

  1. git log 查看之前的操作历史,找到要还原的commit,例如。
    在这里插入图片描述

  2. 执行git revert -n命令即可恢复某次提交
    在这里插入图片描述

  3. 注意:如果撤销的是merge操作则需要提供 -m 参数,-m选项后面应该跟着一个数字,表示要撤销的提交的父提交的索引。通常情况下,使用-m 1表示选择第一个父提交,-m 2表示选择第二个父提交,以此类推。
    例如:git revert e2fa3afa69b1021a89203c4e70d28e52c9cfd6fa -m 1

  • 16
    点赞
  • 85
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遇见小美好

每一笔打赏都见证了你的努力💪

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值