Git---git版本回退

前言

前面已经简单的介绍了如何使用git,我们也知道每一次提交,都是属于一次版本,如果目前我们正在发布的版本有问题,想要回退,这个时候应该怎么做呢?

git reset命令介绍

git reset 表示用于回退版本的操作,也可以执行对应的版本进行回退

git reset [--soft | --mixed | --hard] [HEAD]

git reset --soft 表示:回退到某个版本,只回退了commit的信息,修改完本地代码后,可以重新提交

git reset --mixed 表示:表示默认参数,为了重置暂存区的文件和上一次文件保持一致

git reset --hard 表示:表示回退到对应的版本。本地代码也会进行回退

版本回退

1、我们现在在一个git仓库中新建一个txt文件,然后将它提交到远程仓库中

[root@anjing git_test]# vi 111.txt 
[root@anjing git_test]# cat 111.txt 
这是第一次提交的记录:01
[root@anjing git_test]# git add .
[root@anjing git_test]# git commit -m "第一次提交txt文件" 
[master 36b821d] 第一次提交txt文件
 1 file changed, 1 insertion(+), 1 deletion(-)

2、我们可以通过 git reflog  来查看我们的git仓库有那些提交,并且可以看到前面每个版本的版本号

[root@anjing git_test]# git reflog 
36b821d (HEAD -> master) HEAD@{0}: commit: 第一次提交txt文件
671846d (origin/master) HEAD@{1}: commit: 新增一个txt文件
2bf9c6d HEAD@{2}: commit (initial): 新增一个md文件

3、这里为了表示明显,我们再来一次提交

[root@anjing git_test]# vi 111.txt 
[root@anjing git_test]# cat 111.txt 
这是第一次提交的记录:01
---------------------------
这是第二次提交的记录:02
[root@anjing git_test]# git add .
[root@anjing git_test]# git commit -m "第二次提交txt文件"
[master e393ccd] 第二次提交txt文件
 1 file changed, 2 insertions(+)

4、再次查看我们历史提交记录

[root@anjing git_test]# git reflog 
e393ccd (HEAD -> master) HEAD@{0}: commit: 第二次提交txt文件
36b821d HEAD@{1}: commit: 第一次提交txt文件
671846d (origin/master) HEAD@{2}: commit: 新增一个txt文件
2bf9c6d HEAD@{3}: commit (initial): 新增一个md文件
[root@anjing git_test]# 

5、这里我们发现代码有问题,想要回退到第3笔提交,这个时候我们可以通过git reset 这个命令 git reset --hard 版本号 

[root@anjing git_test]# git reset --hard 36b821d
HEAD is now at 36b821d 第一次提交txt文件
[root@anjing git_test]# cat 111.txt 
这是第一次提交的记录:01
[root@anjing git_test]# git reflog 
36b821d (HEAD -> master) HEAD@{0}: reset: moving to 36b821d
e393ccd HEAD@{1}: commit: 第二次提交txt文件
36b821d (HEAD -> master) HEAD@{2}: commit: 第一次提交txt文件
671846d (origin/master) HEAD@{3}: commit: 新增一个txt文件
2bf9c6d HEAD@{4}: commit (initial): 新增一个md文件

这里我们会发现上面的截图中HEAD-->指向的是第一次提交的版本记录,从文本内容中也可以看的出来,我们已经将其回退到了对应的版本

上传代码仓库

我们已经对代码进行了回退,那么我们将我们回退的代码推到我们的代码仓库,使用git push  的命令

 

去我们的远程仓库上,这里安静的远程仓库是gitee上地址,发现我们已经对gitee上进行了提交。

 

在另一个文件夹中可以看到我们这里的git版本还是我们第一次提交的内容

 

 通过git pull 进行拉去远程代码仓库的内,这个时候就发现远程代码已经拉去到了本地

 

posted @ 2021-12-21 16:45  测试-安静  阅读(599)  评论(0编辑  收藏  举报