小问号,你是不是有很多朋友?为啥这次没更新教程了呢,其实这是因为ECBM2.1版马上要发布了(PWM教程出的时候发布2.1)。这次发布新版本,我想通过gitee更新,一方面只要大家关注了我的码云账号,就能收到更新信息,然后通过GIT更新,就很方便。另一方面简单教大家学会使用GIT,以后工作的时候用得到。
首先简单得介绍一下GIT,GIT是一款版本管理软件。版本这个概念其实很宽泛,并不是说只有手机APP或者电脑软件才有版本的说法。事实上小到一个文件都可以有版本管理,比如我们经常调侃的《毕设论文(初版)》、《毕设论文(修改版)》、《毕设论文(最终版)》、《毕设论文(最终修改版)》。。。。。。
那么版本管理的意义在哪呢?就我用了GIT三年的经验来说,最常用的就是版本回溯、差异比较和异地同步了。
- 关于版本回溯:仔细想想,你们写论文、修改论文的时候是不是都以修改后的内容为准呢?对吧,毕竟原来的内容没问题的话,你也不会去修改;既然要修改的话,那原来的内容肯定是有问题的、不要了的。但是写文章的自由度很高,写代码就不是那样了。我曾不止一次地在加入新功能的时候,就只是把原来的代码改了一下,结果导致整个系统不能正常工作了。这个时候如果以前的代码没有备份那就完了,我不会记得改了哪里(996工作的后遗症——健忘)也就没法改回来,如果要重写那部分代码将会花费很多时间。这个时候直接用GIT查看之前的版本,代码立马可以改过来。除了改错代码外,误删文件这样的操作也可以挽回,可以说是非常方便了。
- 关于差异比较:一开始使用这个功能,是因为我在使用STM32CubeMX的时候出现了一个BUG,在CubeMX更新工程文件的时候,会把一些.c文件删掉。没错,严重的时候连main.c都被干掉了。于是我在使用CubeMX更新之前,先保存一个版本。然后更新工程,接着查看差异。确认CubeMX修改的地方无误后再开始写代码。如果出现了误删,那么从旧版本中提取出缺失的那部分就好了。
- 关于异地同步:这是因为我经常在公司的电脑和家里的电脑开发同一个项目。这个时候最头疼的就是不知道哪边的代码是最新的。有时候忙晕头了,在家里的旧代码上写了一个功能,死活运行不了,排查了半天才发现家里的代码已经落后很久了。有了GIT之后,可以在版本上加入时间,一眼就能看到是不是最新的。而且在gitee的加持下,也省掉了U盘,直接把代码传到网络上就好了。
看到这里,如果你对GIT很感兴趣,可以到这些网站继续深入了解:
Git 教程 | 菜鸟教程www.runoob.com这些大神说得比我好,也比我全面。如果你只是想和我一样只用上面提到的那三个功能,那么也可以不用了解太多太深入,只需要跟着我的步骤走就好了。
首先,我们需要下载GIT的本体。可以在官方网站上下载:
Gitgit-scm.com当然这是国外的软件,放在国外的网站上。下载速度那叫一个慢。所以可以在Q群文件里找到最新的版本。
选择对应的系统版本,比如我的是64位,所以我就下载箭头指向的那三个。
另外一个软件是“小乌龟git”待会说明。首先双击打开GIT。
安装路径可以自由选择,也不一定非得是C盘。
这些设置默认就行。基本就是一路Next点下去。
看到这个界面说明已经安装完成。
之后在文件夹空白处点击右键,就能看GIT的两个菜单选项。一般打开GIT都是点击“Git Bash Here”,点开之后发现界面都英文:
原版GIT就是这样,操作全是命令行,手输各种指令。
因此我们还要装一个“小乌龟”。
这个是一个GUI外壳,它能给GIT提供一个友好的用户界面。
因为官方LOGO是一只乌龟,所以我们经常叫它“小乌龟”。和之前一样,一路Next下去就行。
到这里就是安装完成了,接下来会自动弹出窗口让你设置一些信息,比如使用语言,在这里我们发现只能选择英语:
那是因为还没有安装语言包,这个界面先这样放着,双击语言包安装。
然后再返回小乌龟的配置界面,点击Refresh,就能看到中文的选项了。
然后会让你选择GIT本体所在的位置,一般会自动读取GIT的安装地址,如果你发现不一样,就改为你安装GIT的地址。
名称和email是作为代码贡献者的标识,因为考虑到一个项目可能由多个人来协作完成。如果没有用户名啥的,就没法知道是谁上传的代码了。因此这里的名称可以取个网名,但是要能认出是你自己的网名就行。
这个是要和云端仓库通信的设置,以后使用时再设置就行了。现在,软件已经全部安装完毕。
我来演示一下本篇的主题《如何使用GIT来更新ECBM库》。
奈特/ECBM库gitee.com先到gitee网站,点击克隆仓库,复制链接。
别忘了点一下Star,这样才能第一时间收到更新信息推送。
在一个空的文件夹里点击右键,选择Git克隆。
小乌龟会自动从剪切板获取地址,只要你确实复制了ECBM库的网络仓库网址,就能自动识别出来,所以这里直接点“确定”就行。
克隆成功之后,就会有一个ecbm_library的文件夹。文件夹里就有ECBM库了。
那个绿底白√是指这个文件和仓库记录一模一样。.git就是仓库,是隐藏文件夹。如果没有设置“显示所有文件夹”的话是看不见的。这个仓库非常重要,任何时候都不要修改、删除.git文件夹里的任何文件。
如果你的文件夹里有某个文件是红底感叹号的标志。
说明这个文件和仓库的不一致。这个时候可以用GIT查看差异的地方。
在标识的文件上点击右键,选择小乌龟的图标,然后选择比较差异。
凡是有差异的地方,无论是修改、删除还是增加。都能标识出来。我推荐呢,不要改动这个文件夹里的东西。想新建工程的时候把库复制出去就行了。如果复制的时候不小心选成了剪切怎么办呢?代码文件都剪切走了,只剩下一些许可文档。
不怕,只要.git在,一切都还在。只需要在空白处点击右键。点击小乌龟,然后选择版本库浏览器。
在最新的版本那里点击右键,然后选择重置。重置类型选择硬重置,接着点确定。
这样就成功了,把这些窗口都关掉,看看文件夹里,是不是那些删掉、剪切走的文件都回来了?
那么如果更新ECBM库,只需要登陆码云gitee,看看有没有更新推送(需要提前点击Star关注这个项目才行)。比如我现在更新了一些内容:
那么就回到你存放仓库的那个文件夹,点击右键,然后选择拉取:
点击确定。
显示成功就代表更新成功了。
仔细看看,ECBM_LIB文件夹里的template.h和template.c文件没了,因为这就是本次更新的内容啦。下次PWM教程发布的时候会同步更新ECBM2.1版,赶快去试试GIT吧。