![6429990f3d7b008e75c26deddc3c80c2.png](https://i-blog.csdnimg.cn/blog_migrate/7bf2c5b33e3d4218a0947b967b818a42.jpeg)
![effdf30a2fb1c5546dc679dc079be272.png](https://i-blog.csdnimg.cn/blog_migrate/c73ca89e4ea974c7f74c97b999a884d7.jpeg)
Git实用教程专栏回顾
- Git实用教程(一) | 为什么需要版本控制?(以嵌入式项目开发为例)
- Git实用教程(二) | Git简介及安装详解
- Git实用教程(三) | Git本地库操作(仓库初始化、提交修改)
1.查看提交历史
在提交了很多次修改之后,我们可以使用如下命令回顾提交历史:
git log
该命令默认会按照提交时间列出所有提交(最新一次提交在最上面),并且列出四个基本提交信息:
- 提交的SHA-1校验和;
- 提交的作者信息;
- 提交时间;
- 提交说明;
![aff9bf8d52b60fe8605b22c566f4448d.png](https://i-blog.csdnimg.cn/blog_migrate/9fa04d6278699c173fd5a16808066d14.jpeg)
![8cbc5749774c34ee9614d89a3af33287.png](https://i-blog.csdnimg.cn/blog_migrate/21a3f79b1960d03e32678b68c255d184.jpeg)
git log
输出的是完整的提交信息记录,如果提交次数非常多时会显得非常的复杂,所以该命令设计了丰富的选项供我们控制输出,最常用的如下:
![9ad2951d5bfb6e3b68cb244acca16224.png](https://i-blog.csdnimg.cn/blog_migrate/35e57b93b3ccf2e3c29900c8ba5de9c6.jpeg)
![176f1810edd2188f2f0f8afcc9a72618.png](https://i-blog.csdnimg.cn/blog_migrate/4cd3e4f759d76f6cafc45764e4291a0b.jpeg)
![527ec2fea37d897a8982694130ddfb6b.png](https://i-blog.csdnimg.cn/blog_migrate/8ab1fd701c30f5f68c063b88a4b19ac1.jpeg)
2.版本前进回退(基于索引值操作)
Git版本前进回退的本质是移动HEAD指针
。
2.1.版本回退
版本回退使用命令:
git reset --hard <索引值>
首先查看文件当前内容:
![e5663c728689c42bed5e666ec26465f1.png](https://i-blog.csdnimg.cn/blog_migrate/446fea00afc529be62e8ea7832b22480.jpeg)
然后回退到第一个版本:
![0330d3329ff43e45046fa3c073b2799e.png](https://i-blog.csdnimg.cn/blog_migrate/2d94cbe2c43f573f303c77a86e52144b.png)
然后再次查看文件内容,版本回退成功:
![d35d0c0f19762b629004f9424502cd10.png](https://i-blog.csdnimg.cn/blog_migrate/4cdf0e003349f00832540e7780014ea5.jpeg)
2.2.版本前进
版本前进也使用相同的命令:
git reset --hard <索引值>
当前我们在最初的第一个版本,现在要前进到最新的那个版本,然后查看内容:
![31b0b6eb51a73692412f8996435beb7f.png](https://i-blog.csdnimg.cn/blog_migrate/6ad560fd0341f0cb44351f8ffcaf76af.jpeg)
2.3.reset的三个参数区别
参数说明- -soft仅仅移动本地库HEAD指针- -mixed移动本地库HEAD指针,重置暂存区- -hard移动本地库HEAD指针,重置暂存区,重置工作区
好啦!今天的Git讲解就到这儿,来个思维导图回顾一下吧~
思维导图使用『幕布』绘制
![a93b326b343c145ffa3154af9ae8c64c.png](https://i-blog.csdnimg.cn/blog_migrate/ceba2a9ac962bc276cbff6c2bbb6672e.jpeg)
推荐阅读:
- STM32CubeMX系列教程
- TencentOS tiny 正式开源
- PYNQ上手笔记
- Linux下开发stm32
- 工具推荐 | 串口数据可视化
- 随想 | 嵌入式学习之旅中 ,与野火的点点滴滴~
更多精彩文章及资源,欢迎关注我的微信公众号:『mculover666』。
![595501a258874e70cac15140764d4e6e.png](https://i-blog.csdnimg.cn/blog_migrate/f6b3ed7a797a2e18203ca5b46a711156.jpeg)