Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Git 回滚代码到指定版本[亲测有效],希望能够帮助你!!!。
在我们开发过程中,因各种原因,避免不了将业务代码回滚至指定版本,或者具体一些到某次commit。
下面我们将具体步骤及具体实现做分析。
在代码回归操作过程中主要 围绕 git reset 命令进行,该命令会把版本库和工作目录改变为已知状态。具体来讲,git reset 调整 HEAD 引用指向指定的提交,默认情况下还会更新索引以匹配该提交。根据需要,git reset 命令也可以修改工作目录以呈现指定提交代表的项目修订版本。
git reset 命令有三个主要选项
--soft
会将 HEAD 引用指向指定提交。索引和工作目录的内容保持不变。这个版本的命令有“最小”影响,只改变一个符号引用的状态使其指向一个新提交。
--mixed
会将 HEAD 指向指定提交。索引内容也跟着改变以符合指定提交的树结构,但是工作目录中的内容保持不变。这个版本的命令将索引变成你刚刚暂存该提交全部变化时的状态,它会显示工作目录中还有什么修改。–mixed 是 git reset 的默认模式。
--hard
这条命令将 HEAD 引用指向给定提交。索引的内容也跟着改变以符合给定提交的树结构。此外,工作目录的内容也随之改变以反映给定提交表示的树的状态。当改变工作目录的时候,整个目录结构都改成给定提交对应的样子。做的修改都将丢失,新文件将被删除。在给定提交中但不在工作目录中的文件将恢复回来。
一般情况下,我们分为三个步骤就可以解决完代码回滚操作
执行 git reset –-soft ,如 git reset --soft 4f5e9a90edeadcc45d85f43bd861a837fa7ce4c7 ,重置至指定版本的提交
执行 git push -f origin <branch_name> 强制提交当前版本号
上一篇
已是最后文章
下一篇
已是最新文章