当前位置:   article > 正文

git提交代码的软复位soft和硬复位hard的区别_git hard

git hard

前言
 对于我们日常开发中,我们常用的方法可能是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。

git reset --hard 后,本地电脑上的工作区(working tree )内容、暂存区(index/stage)内容以及Repository的内容,都会恢复到那个节点的代码,并且之前后面的所有都会被删除,所以,带上–hard参数后,所有未add的修改(也就是working tree )的修改、暂存区的修改(已经add过)以及commit到Repository的修改都会被删除,在很明确地知道某些修改的不需要的情况下,就可以使用–hard参数。

git reset --soft的话,工作区(working tree )和暂存区(index/stage)的内容都不会被修改,不过–soft后所带来的差异(就是目标commit ID)以后,所带来的所有的修改,会被保存到暂存区,也就是相当于git add 后但是没commit前,并且–soft后,目标commit ID后面的所有commit ID也会消失,其实是任意一种方式都会这样,因为reset操作,本来就是要撤销提交的,那么目标commit ID后面的commit ID肯定是要被删除的,要不就不叫撤销。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/554688
推荐阅读
相关标签
  

闽ICP备14008679号