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> 命令执行成功
另外Git Reset 三种模式:Git Reset 三种模式
参考文章:
https://blog.csdn.net/qq_36431213/article/details/78858848
Git的撤销操作 git reset HEAD -- <file>相关推荐
- Git的撤销操作 git checkout -- <file>
在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作 撤销操作主要有如下几种 git commit --amend 撤销上一次提交 并讲暂存区文件重新提交 g ...
- Git的撤销操作 git commit --amend
在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲Git的撤销操作 撤销操作主要有如下几种 git commit --amend 撤销上一次提交 并讲暂存区文件重新提交 git checkou ...
- Git操作之 git add 撤销、git commit 撤销
1.git add 添加多余文件 撤销操作 git reset HEAD 后面什么都不跟的,就是上一次add 里面的内容全部撤销 git reset HEAD XXX 后面跟文件名,就是对某个文件进行 ...
- git pull命令操作 git pull <remote> <branch>
git pull命令操作 git pull <remote> <branch> git pull <remote> <branch> 解决1: git ...
- 撤销操作 —— Git 学习笔记 12
撤销操作 写在前面:有些撤消操作是不可逆的. 这是在使用 Git 的过程中,会因为操作失误而导致之前的工作丢失的少有的几个地方之一. 修改最新提交 有时候我们提交完了才发现漏掉了几个文件没有添加,或者 ...
- 【Git】撤销已经git add的文件
参考文章:git commit和git add的撤销 如果不想提交某个文件,比如DBConfig.py,但是不小心git add了这个文件,想要撤销add的话,不要用git rm --cached D ...
- mac git命令行操作 git push pull 逻辑
安装git 想push到线上的完整流程是 情况1,本地开发好了,想上传到线上的分支,或master 1.在空文件夹git init 2.配置相关参数 name email origin 3.pull ...
- git revert 之后怎么撤销_git撤销操作
git的撤销操作:reset.checkout和revert 这三个命令都可以用于撤销. reset和checkout可以作用于commit或者文件,revert只能作用于commit. 工作区有改动 ...
- git撤销操作(git后悔药)
git merge 撤销操作 Git撤销暂存区的修改 git add 添加文件到暂存区. git commit 提交更改,把暂存区的所有内容一次性全部提交到当前分支,清空暂存区. 有两种相关操作 通过 ...
最新文章
- Shell中要如何调用别的shell脚本
- C语言数组的一些运算*a,a+1,a+1,a+0
- C++函数模板(一)
- 《SolidWorks 2017中文版机械设计从入门到精通)》——2.6 几何关系
- 使用vuex实现父组件调用子组件方法
- Java的子类可以继承父类的静态变量和静态方法吗?
- react学习(14)-getTime是对时间进行处理的方法
- GCN-Based User Representation Learning for Unifying Robust Recommendation and Fraudster Detection
- 微软官方WebCast视频打包下载
- ElasticSearch基础之批量操作(mget+mbulk)
- plsql 存储过程 测试
- 车险赔付率分析报告_汽车保险理赔案例分析报告.ppt
- 华为p20如何连接计算机,华为P20 USB调试和开发人员选项的打开方法(EMUI8.1)
- ZZULIOJ:1044: 不及格率
- 跳转到QQ聊天界面和QQ群界面
- Excel中快速填充产生连续的数字编号
- 核桃编程python下载_核桃编程for Mac
- 监控网络行为——公务员上班玩游戏
- 【SeedLab】ARP Cache Poisoning Attack Lab
- 爬虫常见的加密解密算法
热门文章
- 聊聊Spring Boot中的优雅停机
- Spring 面试题(2021最新版)赶紧收藏!
- 在 IntelliJ IDEA 中与小姐姐连麦写代码是什么体验?
- 云原生收购潮:思科计划收购Portshift;Kasten加入Veeam
- 大厂的 404 页面都长啥样?最后一个绝了...
- 小小TODO标识,你用对了吗?
- 如何让普通进程获得 root 的洪荒之力?
- Spring Boot 2.0 新特性
- linux 并行计算命令,Linux下的并行神器——parallel
- android adb恢复出厂设置,android开发分享擦除数据/通过ADB恢复出厂设置