Git回退到某个历史版本

Git回退到某个历史版本

本人前段时间commit代码的时候,不小心commit一些本地的文件上去,并且还推到了开发分支代码,导致同事无法拉取代码,只能够回退版本了。注意,在回退版本之前,请复制粘贴你新写的代码,否则就会辛辛苦苦写的代码就没了。
下面简单的弄个小项目来解释说明一下。

下面这张图是我commit代码的时候,模拟commit了一些错误的代码,并提交到了远端分支上。
在这里插入图片描述
重点来了,现在需要回退到图片这个commit之前的版本,分3步。

step1:在对应目录下的终端命令行输入:git log
在这里插入图片描述
这里解释一下git log回显字段的意思
commit:commit的版本号,相当于一个唯一标识码
Author:commit的作者,git账号
Date:commit日期
还有下面那一串文字就是commit的备注

图片中显示最近3次的commit,第一个commit就是我刚刚操作的commit,因为这个是我错误的commit,所以我要回退到第二个commit,把标识码复制下来:f8212a8c00222898214a2bd8f38e54721c2d29ed
(小提示:退出输入q退出git log命令)

step2:

输入命令:git reset --hard f8212a8c00222898214a2bd8f38e54721c2d29ed

回退到指定的commit版本。
在这里插入图片描述
稍等你的电脑飞一会,再看一下你的代码,会发现你之前写的新代码都没了,是不是心凉了半截?还好我们前面就做了复制粘贴了,如果真没做,那还是重新写吧少年。。。

在这里插入图片描述
这里我们的代码已经没了,注意看红色框框,之前是有那个address字段,现在已经没了,说明我们本地的代码已经回退了。

step3:强制推送到远程分支 git push -f -u origin master(远程分支名称)

本地的分支是已经回退了,但是远程分支还没有回退,需要执行命令git push -f -u origin master,因为我这里远程分支名称是master,所以是这个,大家自己修改一下。注意,这里有个-f参数代表的是强制推送,有条件的可以备份远程分支以防万一,如果不备份,也可以,大胆去按下Enter键吧,少年!

在这里插入图片描述
执行完命令后,远程分支已经回到之前的版本了,这时候就把你之前复制粘贴的新代码拿过来用吧,最后祝大家工作顺利!

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值