git reset的使用

一、git reset 参数

  1. –soft
    仅仅移动当前Head指针,不会改变工作区和暂存区的内容
    在这里插入图片描述

  2. –mixed
    是reset的默认参数,移动head指针,改变暂存区内容,但不会改变工作区
    在这里插入图片描述

  3. –hard
    当前head指针、工作区和暂存区内容全部改变
    在这里插入图片描述

二、 如何回滚文件

  1. 修改完,还未执行git add
git checkout .

使用暂存区的文件覆盖工作区,所以执行完git add .之后,再执行该命令是无效的
git checkout .和git add .是一对反义词

2.使用git add 提交到暂存区,还未commit之前

git reset         //先用Head指针覆盖当前的暂存区内容
git checkout .   //再用暂存区内容覆盖工作区内容

或者使用

git reset --hard  //直接使用head覆盖当前暂存区和工作区 --hard表示强制覆盖 慎用!!!

3.已经git commit,还未git push

git reset --hard origin/master

从远程仓库把代码取回来,然后覆盖本地仓库、本地暂存区和工作区

或者使用

 git reset  last_commit_id

覆盖本地仓库、暂存区和工作区,其中查看last_commit_id命令为

git log 

覆盖本地的暂存区,再执行

git checkout .

4.已经git push

那就无力回天啦

如果git reset 到某一个版本,那么如何回到之前的版本呢?
这个时候git log 只能看到当前版本以及之前的历史,也就说看不到reset之前的那个历史了

那就需要用到git reflog 该命令用来查看所有分支的操作记录 找到reset之前的commitid 开开心心的reset回去就好啦

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值