git 回退机制详解

git 可以对程序进行版本管理,其中很重要的功能就是可以进行版本回退。试想下这样一种场景:新程序发布后,发现运行过程中出现问题,时间紧迫,此时需要赶紧返回之前运行良好的版本。

操作流程

1. 第一次建立git项目,提交到远程分支,并且记录为第一个版本

git 回退机制详解_第1张图片

2. 更改项目中文件的内容,提交到远程分支,记录为 第二个版本

git 回退机制详解_第2张图片

3. 更改项目中文件的内容,提交到远程分支,记录为第三个版本

git 回退机制详解_第3张图片
本地分支的源文件的内容,如下图所示:

git 回退机制详解_第4张图片
经过三次提交以后,我们可以在github上看到项目的提交记录,如下图:
git 回退机制详解_第5张图片
也可以通过在 dos 窗口进行查看提交历史记录, 通过 git log 命令:
git 回退机制详解_第6张图片
ps: git log 命令显示从最近到最远的显示日志,我们可以看到最近三次提交;最近的是第三个版本,上一次是第二个版本,第一次是第一个版本; 如果觉得上面的 git log 显示的信息太多的话,可以使用命令 git log --pretty = online (注意是两个杠哦)
git 回退机制详解_第7张图片

4. 版本回退

通过以上步骤,我们已经有三次提交记录。现在我要开始进行版本回退操作。版本回退操作,可以使用如下两种方法:

方法1:

git reset –hard HEAD ^
( ^ 表示回到上一个版本,如果需要回退到上上个版本的话,将 "HEAD^ " 改成 " HEAD^^ ", 以此类推。那如果要回退到前100个版本,这种方法肯定不方便,我们可以使用简便命令操作:git reset –hard HEAD~100 );

未回退的之前的文件的内容为:
git 回退机制详解_第8张图片
现在我们将文件恢复到上一个版本的内容:
git 回退机制详解_第9张图片
git 回退机制详解_第10张图片
可以看到,文件中内容已经恢复到上一版本了,我们可以继续使用git log 来查看历史记录信息;
git 回退机制详解_第11张图片
我们可以看到第三个版本的信息已经看不到了,但是我如果现在又想回到第三个版本,应该怎么做呐;方法如下:

方法2

git reset –hard 版本号
但是现在的问题是加入我已经关掉了命令行或者第三个版本的版本号,我并不知道?那么要如何知道第三个版本的版本号呐。可以通过如下命令获取到版本号: git reflog 演示如下:
git 回退机制详解_第12张图片
通过上面的显示我们可以知道,第三个版本的版本号是 e12928c 那么现在我们可以通过命令: git reset –hard e12928c

演示如下:
git 回退机制详解_第13张图片
git 回退机制详解_第14张图片
我们可以看到文件回到第三个版本了。

你可能感兴趣的:(git)