每天一命令 git reset

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每天一命令 git reset相关的知识,希望对你有一定的参考价值。

在使用git的时候不免遇到commit的时候commit了错误的代码的时候,这时候就需要用到git的常用命令之一  reset了.

reset顾名思义为重置.重置的是HEAD指针,可以使HEAD指针移动到任意commit上.

使用git log [--oneline] 命令查看之前所有的commit id.然后使用git reset命令使HEAD指针指向其中的一个id.

git reset 有三个可选参数 --hard  --mixed  --soft  

其中--hard参数表示不但重置HEAD指针而且还会重置当前的暂存区和工作区,这个参数比较危险,会使当前工作区的内容丢失,并且是不可找回的丢失.

--mixed参数为默认参数.该参数会重置HEAD指针并且重置暂存区.但是对工作区却没有什么影响.

--soft参数表示只充值HEAD指针.不改变暂存区和工作区.

 

若重置了之后又后悔了,那么可以使用git reflog 命令查看最近的HEAD指针的变化.然后根据这里面的commit id 来确定git reset 的id.这样就不怕弄错了

 

git reset 后面不但可以接commit id 而且可以直接跟文件名称.

若reset后面跟的是文件名称那么将不会重置HEAD指针,而是重置这个文件.重置效果和commit id 一样.

以上是关于每天一命令 git reset的主要内容,如果未能解决你的问题,请参考以下文章

每天一命令 git checkout

GitGit 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )

GitGit 基础命令 ( 查看提交记录 git log | 版本回滚 git reset | 撤销回滚 git reflog )

git reset 命令详解

Git 学习深入理解git reset 命令

markdown git reset命令 - herd reset