Git的学习(4)----------回到过去节点,从过去节点到未来的操作以及git reset命令的三种模式

1. 回滚到过去

1. 三种模式

# 1. 回滚命令是 git reset 它有三种模式: mixed、soft、hard
# 2. git reset --mixed HEAD
# 3. git reset --soft HEAD
# 4. git reset --hard HEAD

1. 简述HEAD的作用

  1. HEAD就是代表指针,将会去指向那个节点。
  2. 例子(先忽略三种模式的区别)
# 下面是用hard模式来说明HEAD的作用,但是其他模式中 HEAD的用法是一样的
# 返回过去到最后一次提交位置
git reset --hard HEAD	
# 返回到倒数第二次版本
git reset --hard HEAD~	
# 返回到前几次的某个版本
# n具体的数字,1 2 3 4
# 若n=2,则代表返回到前2次的版本
git reset --hard HEAD~n 
# 回到指定id的版本
# id 怎么查 可以使用git log 或者git log --oneline 或者 git reflog
git reset --hard id

2. mixed的作用

  1. 作用:会将工作目录的修改、暂存区的内容以及由reset所导致的文件差异,都放进工作目录。
  2. 例子:初始状态有4个节点(即4个版本),每一个节点都是新添加一个文件。
    在这里插入图片描述
  3. 先将版本回到添加了b.txt的版本,命令 git reset --mixed HEAD~2
    在这里插入图片描述

3. soft的作用

  1. 作用:回退一个版本,不清空暂存区,将未来新版本中的已经提交的内容恢复到暂存区,不影响原来本地的文件。
  2. 例子:初始状态有4个节点(即4个版本),每一个节点都是新添加一个文件。
    在这里插入图片描述
  3. 先将版本回到添加了b.txt的版本,命令 git reset --soft HEAD~2
    在这里插入图片描述

4. hard的作用

  1. 作用:回退一个版本,旧版本是什么样子的,就是什么样子的,没有一丝丝的改变,新版本的文件不可能被带到旧版本中。
  2. 例子:初始状态有4个节点(即4个版本),每一个节点都是新添加一个文件。
    在这里插入图片描述
  3. 先将版本回到添加了b.txt的版本,命令 git reset --hard HEAD~2
    在这里插入图片描述

2. 回到未来

1. 未来命令

# 可以查询之前的日志信息
# 为什么要 使用git reflog,不是还有git log 这些吗?
# 当你回滚到旧版本的时候,无论是git log 还是git log --oneline,只能展示到当前版本的信息。
# 即更加未来的版本信息无法展示
# 因此,必须使用reflog
git reflog 
# 回到对应id 的版本,这里用的是hard模式,强行回到跟未来版本一模一样的状态
# 其他模式,大家可以自行测试
git reset --hard [id]

2. 实战

  1. 回到有4个文件的版本,首先需要知道那个版本的id号码,之后使用 git reset --hard id 命令回到将来。
    在这里插入图片描述

3. idea操作回滚命令

  1. 指令位置
    在这里插入图片描述

  2. 设置回滚模式,以及回滚到那个版本。
    在这里插入图片描述

  3. 点击reset 则回滚成功。

其他相关文章学习

Git的学习(0)----------前言

Git的学习(1)----------相关命令

Git的学习(2)----------分支学习

Git的学习(3)----------idea中使用Git

Git的学习(4)----------回到过去节点

Git的学习(5)--------总结

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值