Git 初接触 (三) Git的撤销操作 git reset HEAD -- <file>

在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作

撤销操作主要有如下几种

git commit   --amend        撤销上一次提交  并讲暂存区文件重新提交
git checkout -- <file>     拉取暂存区文件 并将其替换成工作区文件
git reset HEAD  -- <file>  拉取最近一次提交到版本库的文件到暂存区  改操作不影响工作区
  • git reset HEAD -- <file>

    该操作 可以 拉取最近一次提交到版本库的文件到暂存区 并且该操作不影响工作区

    简单的来说 就是可以帮我们从版本库中 拉取文件到 暂存区 当我们把工作区的某个文件弄乱了 我们就可以使用该命令 把版本库中的那个文件拉到暂存区 然后在拉回工作区

    举个例子 我们的项目目录 和Git版本库提交日志 如下图

    这里写图片描述

    这里写图片描述

    我们现在在 version 5.0版本 5.0版本readme.md 里面有 hello world ! 这个字符串 而我们需要 readme.md 里面是空白的 我们只记得 version 1.0 里面readme.md 是空白的 所以我们现在需要把 version 1.0 里面的 readme.md 拉到我们的工作区

    这时我们就不得不分析一下 git reset HEAD -- <file> 这个命令的各个参数了

    filename 一看就知道 是我们要拉取的文件名

    HEAD 可以理解为一个游标 一直指向当前我们所在版本库的地址 就是我们当前所在版本库的头指针

    当然 我们也可以不使用HEAD 可以直接使用版本库的地址 版本库地址 可以用 git log 命令打印出来

    如下图 version 1.0 的版本库地址为 f0a1684

    这里写图片描述

    我们执行 git reset f0a1684 -- readme.md 结果如下图

    这里写图片描述

    使用 git status 参看仓库状态 如下图

    这里写图片描述

    我们发现 现在暂存区里的文件 和 工作区 当前版本库的 都不一样 这说明我们已经成功的把 version 1.0 中 空的 readme.md 拉取到了 暂存区 因为工作去和当前版本库里的 readme.md 里面都应该有 hello world !

    我们在使用 git checkout -- <file> 命令来把 暂存区文件拉到工作区

    这里写图片描述

    这里写图片描述

    工作区 readme.md 现在变成空了 拉去成功 说明我们的 git reset HEAD -- <file> 命令执行成功

  • 24
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值