分区概念

先要清楚在本地,git会分三个区:工作区、暂存区、本地库。

当使用去做版本移动的时候,那么在使用【--hard】、【--mixed】、【--soft】是不一样的。

1. --soft参数

git reset --soft abcdef
  • 仅仅移动本地库HEAD指针

仅仅是把本地库的指针移动了,而暂存区和你本地的代码是没有做任何改变的。但是这个时候你上次提交到本地库的代码状态是绿色的,即你未做【commit】操作。

2. --mixed参数

git reset --mixed abcdef
  • 移动本地库HEAD指针
  • 重置暂存区

不仅移动了本地库的指针,同时还把暂存区的代码也做了移动。也就是说你上次添加到暂存区的代码,现在变成了红色,即未做【add】操作。如果不写--mixed默认也是此参数

3. --hard参数

git reset --hard abcdef
  • 移动本地库HEAD指针
  • 重置暂存区
  • 重置工作区

不用解释了,除了上面描述的,同时你本地的代码就是你回退的版本代码。

不过很多时候,我们在回退更多的是要保留本地代码的,即使用--mixed参数。除非你是重新拉取一份,那可以使用--hard参数。

参考文章:https://blog.csdn.net/weixin_42740530/article/details/115914113

Git reset 的hard、soft、mixed参数对比的更多相关文章

  1. 一把剪刀看懂git reset 和它的三个参数

    都说git 命令难记且难懂,但是如果从立体的角度看待git与git管理的版本,那么一切都会明朗许多. 大多数的学习教程为了理解git,会绘制几个圆圈的串联,每个圆圈代表一个commit的版本,也就是从 ...

  2. git操作之三:git reset

    在上篇文章中介绍了git restore命令,该命令的可以看作是撤销命令,文件在不同的状态下,使用git restore <file> 命令,会撤销对文件的修改,是文件回到修改前的状态也就 ...

  3. 每天一命令 git reset

    在使用git的时候不免遇到commit的时候commit了错误的代码的时候,这时候就需要用到git的常用命令之一  reset了. reset顾名思义为重置.重置的是HEAD指针,可以使HEAD指针移 ...

  4. git reset、git checkout和git revert的区别

    这三个git命令都是用来撤销代码仓库中的某些更改,而前两个命令不仅可以作用于commit层面,还可以作用于file层面Reset在commit层面,reset通过移除当前分支的一些节点来实现版本回滚; ...

  5. git rm 与 git reset

    https://www.cnblogs.com/sunshine-xin/articles/3521481.html 1. git rm --cached file will remove the f ...

  6. git reset --hard 操作后的数据恢复

    在进行正文之前先简单介绍下git reset 命令 git reset git reset 命令用于改变当前的仓库状态,简单的场景用例:假设一次修改了两个文件,然而需要对这两个文件分别进行两次提交,在 ...

  7. git reset soft,hard,mixed之区别深解

    GIT reset命令,似乎让人很迷惑,以至于误解,误用.但是事实上不应该如此难以理解,只要你理解到这个命令究竟在干什么. 首先我们来看几个术语 HEAD 这是当前分支版本顶端的别名,也就是在当前分支 ...

  8. 关于git的reset指令说明-soft、mixed、hard

    在开发过程中,git的版本管理越来越普及.在版本管理中,最常用和最重要的是重置提交的版本,恢复后悔做了的事.大家都知道用reset命令.但是有几种形态需要整理共享一下,也方便我自己查阅. 一.首先解析 ...

  9. git reset –mixed –soft –hard命令解释。

    直接看官方的解释. 其中HEAD代表版本库,index代表暂存区,另外还有一个我们增删改代码的工作区.所以官方解释翻译过来就是: --hard : 回退版本库,暂存区,工作区.(因此我们修改过的代码就 ...

  10. Whats the difference between git reset --mixed, --soft, and --hard?

    https://stackoverflow.com/questions/3528245/whats-the-difference-between-git-reset-mixed-soft-and-ha ...

随机推荐

  1. KingbaseES中不同user之间的权限关系

    1.概念 1.schema是每个database中特有的. schema概念有点像命名空间,这个逻辑空间包含若干表对象. 在DB里面,有了schema才可以创建对象,对象需要依赖于schema,默认为 ...

  2. nginx使用入门的笔记

    本文于2016年4月底完成,发布在个人博客网站. 考虑个人博客因某种原因无法修复,于是在博客园安家,之前发布的文章逐步搬迁过来. 从源码安装nginx 下载软件 编译nginx,必备pcre,zlib ...

  3. ContOS7搭建RAID-5磁盘阵列

    RAID5:分布式奇偶校验的独立磁盘结构 RAID5就是raid0和RAID1的一种折中,既提升了磁盘读写能力,又有一定的容错能力,成本也低: 实验开始: 1.挂载四块5G硬盘 2.进行分区:fdis ...

  4. OpenStack全网最全部署教程

    简单介绍 简单点来说就是一个云,一个属于自己的云平台,openstack的原版是亚马逊云,可以说openstack就是Rackspace和NASA的抄袭产物. 官方点说一个云平台管理的项目,它不是一个 ...

  5. Maven 三种archetype说明合集【转载】

    Maven 三种archetype说明 新建Maven project项目时,需要选择archetype. 那么,什么是archetype? archetype的意思就是模板原型的意思,原型是一个Ma ...

  6. 重新点亮shell————awk函数[十五]

    前言 简单介绍一下awk函数. 正文 算术函数 字符串函数 自定义函数 例子: 结 awk就到这里了.

  7. 扩展中国剩余定理证明及例题 Strange Way to Express Integers

    前置知识 中国剩余定理(CRT),逆元: EXCRT是什么 我们知道,对于 对于 \[\begin{equation} \begin{cases} x \equiv c_1 \ (mod \ m_1) ...

  8. TaskPool 和 Worker 的对比

    作用: TaskPool(任务池)和 Worker 都为应用程序提供多线程运行环境,用于处理耗时的计算任务或其他密集型任务,避免阻塞主线程,提高系统性能.   实现特点对比: 内存模型:TaskPoo ...

  9. SQLite总结

    废话不多说: 优点,高并发读快速度读取超越所有主流大中型数据库 缺点,缺少同步机制,读写不能同时,且同时只能有一个写入线程 用途,硬盘式缓存 另附一SQLite工具类: import java.io. ...

  10. Flink Standalone集群部署

    Flink Standalone模式部署集群是最简单的一种部署方式,不依赖于其他的组件,另外还支持YARN/Mesos/Docker等模式下的部署,这里使用的flink版本为最新的稳定版1.9.1版本 ...