git reset中hard与soft区别
前言
对于我们日常开发中,我们常用的方法可能是git reset --hard,来强行回退commit所提交的信息,这是不友好的,也许我们希望对误操作提交的commit不进行删除而是重新修改并进行提交,这个时候就需要–soft操作了,下文将介绍hard模式与soft模式的差异~
git reset中的hard与soft
对于git reset我们在日常主要是使用其两种模式,分别为hard与soft模式,对于git reset --hard
的作用是代码强制回溯到某节点,对于当前节点->回溯节点中间已commit的内容就会全部消失,而git reset --soft
模式下与hard模式会有所不同,他会保存当前节点->回溯节点之间已保存的内容。
--hard场景:1.当我们发现提交的某个commit思路不正确,或与业务有很大的出入时,我们此时可以选择使用–hard去回退版本(–hard)。
--soft场景:1.当我们不小心把还没有添加完毕的功能commit提交上去时,这个时候我们可以使用–soft去回退我们误提交的commit,完成此功能后,在重新提交commit。
使用:
// 强回最近一次的commit所提交的内容(不保留内容)git reset --hard // 强回对应commitID的内容(不保留内容)git reset --hard commitID// 恢复最近一次的commit所提交的内容(保留内容)git reset --soft HEAD^// 恢复对应commitID的内容(保留内容)git reset --hard commitID
例子:
初始化三个commit,每个commit对应添加内容a,b,c
reset --soft到b节点
git reset --soft 4fcd5771bbd2a81f1fe60716af79a103e9cc143b
结果:
此时我们软回退到b节点,git log信息中提交节点c的信息消失,并且c的内容被保留回退下来。
reset --hard到b节点
git reset --hard 4fcd5771bbd2a81f1fe60716af79a103e9cc143b
当我们使用reset --hard时,git log信息中提交节点c的信息消失,并且c的内容不会被保留下来。
git reset中hard与soft区别相关推荐
- git reset soft、mixed和hard的区别和用途详讲
先看看工作区.暂存区和本地版本库的关系 你的项目就在工作区,对于项目新建的文件你必须先add保存到暂存区,再commit提交到本地库: 对于修改的文件可以先add再commit,或者直接commit. ...
- git reset --mixed, - soft和--hard有什么区别?
我希望拆分提交,不知道要使用哪个重置选项. 我在看页面你能解释一下"git reset"用简单的英语做什么吗? ,但我意识到我并不真正理解git索引或临时区域是什么,因此解释没有帮 ...
- git reset三种模式区别和使用场景(hard,soft,mixed)
简单的理解三种模式: hard reset之后,以仓库为准,仓库,暂存区和工作区保持一致,不一致的全部清除: soft reset之后,工作区内容不变,只更新仓库内容,差异保留在index暂存区: m ...
- a commit git 参数是什么意思_Git中的git reset的三种参数的区别
我们平时在使用git的时候,经常会遇到需要撤销上次操作的需求,这时候需要用到git reset的这个命令,他的使用就是 "git-reset – Reset current HEAD to ...
- git reset hard/soft/mixed区别
git reset hard/soft/mixed区别 git reset --soft git reset --mixed或者 git reset (默认是git reset --mixed) gi ...
- git 版本回退之关于git reset --hard 和 --soft区别
去年刚接触android源码开发时候第一次接触git,当时因为framework修改和别人冲突造成不少合并失败,后来学习到了这两个指令,经常用,所以记录一下. git reset --hard HEA ...
- git reset --hard、git reset --sort及git revert区别
一. 在git操作中,有时候,进行了错误的提交,但是还没有push到远程分支,想要撤销本次提交,可以使用git reset –-soft/hard命令. 1.二者区别: git reset –-sof ...
- git如何查看缓存区文件内容_详解Git工作区、暂存区、历史记录区以及git reset、git revert、git checkout等撤销命令的区别...
一.可以将git简单的分为三个区域 1.工作区(working directory) 2.暂缓区(stage index) 3.历史记录区(history) 如图: 其中git ...
- git reset revert rebase 区别
最近合并他人代码,因为代码是从git代码库之外来的,于是出了各种问题.于是又翻看了git教程.这里推荐两篇: Git教程 - 廖雪峰的官方网站 非常通俗易懂,教了最基本的,十分实用. ###Git 基 ...
最新文章
- Oracle数据库联邦,使用联邦数据库将oracle表迁移到DB2(9.7)中的脚本说明
- poj2029(二维树状数组)
- 二元函数洛必达求极限_由一类特殊的洛必达法则情形展开的讨论 ——小领域的大作用...
- linux编译openssl
- storm入门——本地模式helloworld
- 10.static_extern
- 从零开始搭建vue移动端项目到上线的步骤
- 阿里安全的“自动逆向机器人”TimePlayer 究竟是什么
- 前端实现街道地图_来自法国的注重保护个人隐私的开源地图
- html前端毕业设计项目,web前端毕业设计论文..doc
- Mysql表数据如何增加汇总统计行(GROUP BY WITH ROLLUP函数用法)
- 计算机视觉教程6-1:图解双目视觉系统与立体校正原理
- KDD_2018_notes Smoothed Dilated Convolutions for Improved Dense Prediction
- 推荐10个实用的程序员开发常用工具
- 一定要让你彻底明白什么是USB子系统
- 实践使用bfile 数据类型
- sin cos tan cot sec csc
- linux apache占用内存过高,linux – 找出高CPU占用率的apache进程实际上在做什么?...
- 用7000字长文带你分析深圳二手房市场现况!
- 2020-12-3 QQ通讯录(不完整内容)
热门文章
- HJ卫星数据的下载与打开
- 最新19C版Oracle数据库下载安装
- Richard Stallman 的自由软件思想
- Docker Cgroup资源配置(CPU、内存、磁盘)
- *抽象对象的类解释 数解释和真值解释---- 布尔逻辑之五****
- 专访:黑客段子手“呆子不开口”| 宅客故事
- HDU4751 -(广义孪生素数猜想)
- 生产者和消费者问题(单一生产者和单一消费者)
- java executor 源码_Java线程池ThreadPoolExecutor深度探索及源码解析
- Shopee选品:三个错误的逻辑思维,你犯了吗?