git常用指令——git reset详解

作用

git reset 命令用于回退版本,可以指定退回某一次提交的版本。

使用
HEAD 说明:
  • HEAD 表示当前版本

  • HEAD^ 上一个版本

  • HEAD^^ 上上一个版本

  • HEAD^^^ 上上上一个版本

  • 以此类推…

可以使用 ~数字表示
  • HEAD~0 表示当前版本

  • HEAD~1 上一个版本

  • HEAD~2 上上一个版本

  • HEAD~3 上上上一个版本

  • 以此类推…

git reset 命令语法格式如下:

git reset [–soft | --mixed | --hard] [HEAD]

git reset --soft

将HEAD引用指向给定提交。索引(暂存区)工作目录的内容是不变的,在三个命令中对现有版本库状态改动最小。(改变本地仓库中的版本,被回退的那些版本的修改会被放在暂存区,可以再次提交)

git reset --soft HEAD
git reset --mixed(默认模式 可以直接写 git reset)

HEAD引用指向给定提交,并且索引(暂存区)内容也跟着改变工作目录内容不变。这个命令会将索引(暂存区)变成你刚刚暂存该提交全部变化时的状态,会显示工作目录中有什么修改。(就是用本地仓库的版本覆盖了暂存区的,回退的那些版本的修改会放在工作目录,可以先加到暂存区,然后再提交)

 git reset HEAD^                  # 回退所有内容到上一个版本  
 git reset HEAD^ helloworld.html  # 回退 hello.php 文件的版本到上一个版本  
 git reset  052e(commit id)      # 回退到指定版本
git reset --hard (慎用)

HEAD引用指向给定提交,索引(暂存区)内容和工作目录内容都会改变给定提交时的状态。也就是在给定提交后所修改的内容都会丢失(新文件会被删除,不在工作目录中的文件恢复,未清除回收站的前提)。(就是用本地仓库的版本覆盖暂存区工作目录,被回退的那些版本的修改会直接舍弃,好像它们没有来过一样)

git reflog(对于-- hard模式下的回退)

当一不小心执行了hard模式,想要进行版本回退

git reflog    //获得commit_id
git reset --hard commit_id //就能回到对应的版本
总结
git reset产生的影响
选项本地仓库(HEAD)暂存区工作目录
--soft
--mixed(默认)
--hard
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值