Git使用 从入门到入土 收藏吃灰系列 (九) git reset 移除暂存区与版本回退

一、前言

讲讲小张的感受:我没有接触过Git,所以看了很多视频,对于入门使用确实只要知道git clone,git add,git commit,git push,git merge,确实也就足够了。但是我很好奇背后的原理,为什么要用git add到暂存区而不是直接git commit?很多指令之间为什么要按一定的顺序执行?所以这个系列我以初学的时候,小白的角度从安装到工作原理(有的是我自己的见解,如果感觉不对,欢迎指正),再到实际应用!另外,推荐看一遍第三个参考视频,然后看一下第四个参考视频,对工作原理的讲解和实际应用确实不错!

二、Git远程命令实践

实际操作过程中,可以用编译器的集成插件去实现,但插件按钮也是以指令命名的,所以先学会指令,插件很容易上手。这里只介绍git指令如何去操作

2.1git reset 移除暂存区

当我们将文件加入暂存区以后,想要修改一下再提交,可以使用git reset

image-20220120200653705

image-20220120200657979

执行git add后执行git status,窗口也会提示移除暂存区的指令git restore --staged <filename>

image-20220123184542563

2.2 git log+git reflog+git reset 版本回退

首先提交了两次文件。第一次新建1.0.txt,git commit -m "A",第二次把1.0删除,提交2.0.txt,git commit -m "B",作为例子

image-20220119175732527

回退完成后,当前最新的记录"2.0.txt"就消失了,如果想再回到2.0,利用relog查看历史提交记录

image-20220119180006151

这里可以理解为HEAD记录了一系列指针,将每一次的变动链在一起(并不是每一次都保存所有内容而是保存变动)。git reset操作就是在移动指针的位置。回退之后,最新的指针就会被删除,需要用git reflog去找所有的记录

下一期介绍

  • git fetch 拉取远程仓库
  • git pull 拉取远程仓库
  • git push 推送本地到远程仓库
  • git fetchgit pull 有什么区别?

专栏速览:

  1. Git使用 从入门到入土 收藏吃灰系列(一) 专栏前言
  2. Git使用 从入门到入土 收藏吃灰系列(二) Git的安装与配置
  3. Git使用 从入门到入土 收藏吃灰系列(三) Git常用命令
  4. Git使用 从入门到入土 收藏吃灰系列(四) Git工作原理
  5. Git使用 从入门到入土 收藏吃灰系列(五) Git本地仓库搭建
  6. Git使用 从入门到入土 收藏吃灰系列(六) 链接远程仓库
  7. Git使用 从入门到入土 收藏吃灰系列 (七) 同时配置Gitee、Github 公钥
  8. Git使用 从入门到入土 收藏吃灰系列 (八) 什么是分支 分支的作用
  9. Git使用 从入门到入土 收藏吃灰系列 (九) git reset 移除暂存区与版本回退
  10. Git使用 从入门到入土 收藏吃灰系列 (十) 详谈push、fetch、pull
  11. Git使用 从入门到入土 收藏吃灰系列 (十一) 下载所有远程仓库分支
  12. Git使用 从入门到入土 收藏吃灰系列 (十二) git merge 与 git rebase
  13. Git使用 从入门到入土 收藏吃灰系列 (十三) git stash、git check-pick、git tag、git diff
  14. Git使用 从入门到入土 收藏吃灰系列 (十四) 清除git仓库的所有提交记录
  15. Git使用 从入门到入土 收藏吃灰系列 (十五) 自定义Git命令
  16. Git使用 (十六) Github上的小按钮
  17. Git使用 (十七) 解决Git Bash中文乱码

版权声明:本文为qq_49488584原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。