[Git实操] Git回退到之前的版本(丢弃目标版本之后的内容)

1,010

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情

发现问题

在工作上发现 第二次提交和第三次提交的内容不符合预期的理想

我现在不想要第二次和第三次的提交了

那这个时候应该如何做,我的目的很简单 把当前的版本回退到第一次提交的版本

查看版本记录

通过git log可以输出当前项目的提交记录,从上往下看,最上面的是最近的一次提交

image.png

版本号 - commit后面跟着的是每次提交的版本号

版本内容 - commit下面的作者日期和提交信息是每次提交的版本内容

版本回退

如果我们想回退到某个版本,并且丢弃目标版本后的提交,那么我们可以使用命令git reset --hard 目标版本号 命令将版本回退

使用该命令需要注意,切记使用该命令后,目标版本之后的提交都会被撤销,也就是丢掉第二次和第三次的修改,每次使用该命令的时候需要注意。

下面进行实际演示,取目标版本号前七位进行回退

image.png

回车后可以看到提示已经回退到目标版本,最近的一次版本是目标版本,第二次和第三次提交的版本已经消失

处理旧版本提交

这个时候我们提交上去的时候会报错,因为当前版本比远程的版本要少也就是更旧,所以会有报错信息提示 ,我们只要用git push -f强制进行推送即可

image.png

由于每次记录的版本信息是连线型的,所以取消了第一次和第二次的提交,那么相对应的提交记录也会消失,相当于直接回到目标版本,这个时候也看不出第二次和第三次提交的内容了,以上图片是sourcetree的图片记录。

参考文章链接

[Git实操] Git回退到之前的版本(丢弃目标版本之后的内容)