前言
在我们开发过程中,因各种原因,避免不了将业务代码回滚至指定版本,或者具体一些到某次commit。
下面我们将具体步骤及具体实现做分析。
操作前阅读
在代码回归操作过程中主要 围绕 git reset 命令进行,该命令会把版本库和工作目录改变为已知状态。具体来讲,git reset 调整 HEAD 引用指向指定的提交,默认情况下还会更新索引以匹配该提交。根据需要,git reset 命令也可以修改工作目录以呈现指定提交代表的项目修订版本。
-
git reset 命令有三个主要选项
-
--soft
会将 HEAD 引用指向指定提交。索引和工作目录的内容保持不变。这个版本的命令有“最小”影响,只改变一个符号引用的状态使其指向一个新提交。 -
--mixed
会将 HEAD 指向指定提交。索引内容也跟着改变以符合指定提交的树结构,但是工作目录中的内容保持不变。这个版本的命令将索引变成你刚刚暂存该提交全部变化时的状态,它会显示工作目录中还有什么修改。--mixed 是 git reset 的默认模式。 -
--hard
这条命令将 HEAD 引用指向给定提交。索引的内容也跟着改变以符合给定提交的树结构。此外,工作目录的内容也随之改变以反映给定提交表示的树的状态。当改变工作目录的时候,整个目录结构都改成给定提交对应的样子。做的修改都将丢失,新文件将被删除。在给定提交中但不在工作目录中的文件将恢复回来。
具体步骤
一般情况下,我们分为三个步骤就可以解决完代码回滚操作
第一步
-
执行 git log命令查看日志,获取需要回退的版本号
例如:
image.jpg
第二步
执行 git reset –-soft <commit id> ,如 git reset --soft 4f5e9a90edeadcc45d85f43bd861a837fa7ce4c7 ,重置至指定版本的提交
第三步
执行 git push -f origin <branch_name> 强制提交当前版本号
- >··< 此时恭喜你,你的代码回滚成功了
网友评论