Git学习(四)----版本跳转
来源:互联网 发布:淘宝快递最便宜多少钱 编辑:程序博客网 时间:2024/04/28 23:01
git log 、git reflog 、git reset
Git版本跳转:
想实现版本跳转,需要先了解Git的版本的标记,也就是通过这个唯一的标记能定位一个版本,也就是commit id。
这个commit id是个挺长的字符串,因为它是通过SHA-1计算出来。(这个字符串就跟你硬盘里的某些磁力链接挺像的,嘿嘿嘿!),因为git是分布式的,所以每个人电脑上都有完整代码,如果你更新了别人文件到本机上了,他提交的commit id是简单的自增数字(1,2,3....),就有可能会和你本机上的commit id冲突,那么就起不到定位的作用了哈。(对于想问“SHA-1可以做到不会重复吗?”的童鞋,你们去看看SHA-1的原理,最好把数字签名的原理也看了,都挺有意思的哈。再说,如果这个SHA-1码容易产生相同的话,你在使用那些个磁力链接时,就不就容易下错文件了嘛。)
言归正传,首先,我们先查出所有版本的commit id,输入:git log (显示所有提交日志)
这样看起来不方便,输入:git log --pretty=oneline
前边黄色的长字符串就是commit id了。
版本跳转:git reset
git reset 直接加 commit id 就可以实现版本跳转(commit id不用全写,写到7位就可以了)
但是当打开test2.txt文件时,发现文件根本没改变。(一脸懵逼)
这个时候要相信程序,没有报错就说明操作没有错误,查询一下git的状态:git status
这个时候就发现了,原来git内部记录已经回滚到指定日期的记录,只是文件内部没有回滚,文件会作为已修改的文件将与“记录”不同的内容保存下来。
如果想文件内容也回滚:git reset --hard 加上commit id
查看操作git reflog
如果,回滚之后突然发现这个版本不行,还是要退回刚刚那个版本,但是git log中已经不显示刚刚那个版本的commit id了。
这个时候就要用到:git reflog
(我做了很多次reset操作,主要看红箭头的记录就行。)
这个时候想回到add4,输入:git reset b1ca470
git log 查看版本信息
git reflog查看操作信息
- Git学习(四)----版本跳转
- Git教程学习(四)—版本控制
- Git学习(四)
- Git学习笔记(四) Git对象
- Git学习笔记(四) Git对象
- Git 学习(篇四 --Git别名)
- git学习之旅(四)——回退版本
- git学习之旅(四)——回退版本
- Git学习笔记(四)
- git学习笔记(四)
- 在Android Studio使用Git实现版本管理(四):使用Git进行版本管理
- 26、版本控制之git的使用(四)
- 分布式版本控制系统----GIT的使用(四)
- 版本控制的学习(Git、SVN)
- 分布式版本控制系统-Git学习(一)
- Git学习使用(三):版本控制
- Git学习:分布式版本控制(一)
- Git学习:分布式版本控制(二)
- c++第二次实验——作业
- u盘重新分区
- JSP访问Hadoop 图片存储服务
- c++作业
- cocos2d-JS (一)HelloWorld
- Git学习(四)----版本跳转
- 关于锚点链接的偏移问题
- Understanding the Android Source Code
- 提高Web服务端并发效率的异步编程技术
- Git的环境搭建与安装
- Codeforces 367A Sereja and Algorithm 【规律】
- Redis配置数据持久化---APPEND ONLY MODE
- 1154: 【C语言训练】邮票组合问题*__简单题
- Ubuntu安装深度学习平台Torch7以及zbs_torch IDE