Git 初接触 (三) Git的撤销操作 git reset HEAD -- <file>
来源:互联网 发布:mac 上的游戏 编辑:程序博客网 时间:2024/05/23 10:44
在项目中我们也经常会使用到撤销操作 使用这一节我们就讲一讲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 初接触 (三) Git的撤销操作 git reset HEAD -- <file>
- Git 初接触 (三) Git的撤销操作 git checkout -- <file>
- Git 初接触 (三) Git的撤销操作 git commit --amend
- git reset撤销操作
- git撤销操作(git checkout; git reset)
- 撤销 git reset --hard HEAD~1
- 撤销git commit 的 git reset
- Git 笔记, git reset 撤销
- 撤销本地分支的上一次git commit: git reset --hard HEAD
- 【转】如何撤销git reset --hard操作
- git 撤销操作--git checkout、git reset、git revert、git commit -- amend
- git reset head、checkout
- Git 初接触 (四) Git的分支操作
- git---撤销 git add . 操作
- git中checkout与reset在撤销操作中的应用
- git reset --hard HEAD^ more?
- 撤销git add操作
- git中的撤销操作
- mongo安全:增加用户名密码
- 又一种Qt + OpenGL 的离屏渲染方法
- el详解
- 基于ACE Proactor框架下高并发、大容量吞吐程序设计既最近的一个产品开发总结
- golang开发环境(2016.9.16)
- Git 初接触 (三) Git的撤销操作 git reset HEAD -- <file>
- Golang里面使用protobuf(proto3)
- numpy基础教程—数组(向量)的属性和方法
- visual studio code
- 凑单助手1.0
- maven学习一
- ubuntu下Nginx+Tomcat发布运行javaWeb项目
- 1个月的业余时间能做什么事
- ACE_Proactor网络通信示例