栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Git】使用reset命令回退版本

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Git】使用reset命令回退版本

在项目开发的过程中,通常使用git 等版本管理工具来管理项目。
git常用的命令我们都已经掌握,例如:
git init 初始化git本地仓库
git add 添加文件到暂存区
git commit -m "提交信息" 提交文件到本地仓库
git pull 从远程分支拉取
git push 推送本地文件到远程分支所在仓库

以上几个命令,应该是我们日常工作开发中用的最频繁的几个命令。但是最近在我的工作中,经常会用到一个回退版本的命令git reset

基本概念复习

在复习这个命令之前,先来回顾下Git的基本概念

  • 工作区

工作区就是我们在开发过程中实际操作的区域,比如在我们的idea中,我们写代码的地方就是工作区

  • 暂存区

暂时区,英文叫stage或者index。一般存放在.git目录下的index文件中。

  • 版本库

版本库是指我们的本地仓库

下面这个图片展示了工作区和暂存区以及版本库的关系:

reset 命令

git reset 命令可以指定退回某一次提交的版本
基本语法格式如下:

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

--mixed :此参数为默认的参数,移动本地版本库的HEAD指针,重置暂存区,但是不会影响工作区。
--soft:仅仅一栋本地版本库的HEAD指针,其他什么都不做,即暂存区和工作区都不会重置。
--hard:撤销工作区中所有未提交的修改内容,将暂存区与工作区都回退到上个版本,并删除之前所有提交的信息

实践 mixed

1、在本地初始化一个git仓库

2、新建一个文件hello.java,并使用git add命令添加到暂存区

3、使用git commit 命令提交hello文件到本地仓库

4、此时,新建的hello.java文件是空的。修改文件内容,然后再次提交。


5、使用git reset 命令回退版本

可以看到,hello.java文件已经将暂存区的提交给重置了了。查看状态发现,文件的变更为修改状态,即我们commit之前的状态。工作区的内容也没有受影响。

soft

由于之前我们使用reset --mixed命令将版本回退,所以导致我们的暂存区重置,所以我们将hello.java文件 重新commit

现在执行reset --soft HEAD^ 命令

通过git status 查看当前文件的状态为绿色的修改,所以soft命令并没有重置暂存区。我们可以直接用commit命令提交

hard

我们知道hard命令会将工作区和暂存区都重置,所以我们新建一个文件,不提交,看看hard会不会影响到我们在工作区的文件

执行命令 git reset --hard HEAD

我们发现,位于工作区的文件hello1.java已经没有了。因为我们回退的版本是没有hello1.java文件的。hard将工作区和暂存区全都进行了重置

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/854962.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号