git rollback代码都没了_ECBM库也能自动更新吗?——论GIT的用法

本文介绍了Git的基本概念和用途,如版本回溯、差异比较和异地同步,并详细阐述了在STM32开发中如何利用Git进行版本管理。通过实例展示了如何克隆、更新ECBM库,以及如何处理文件差异和误删文件。此外,还提供了Git和小乌龟Git的安装教程,帮助开发者更有效地管理和协作项目。
摘要由CSDN通过智能技术生成

小问号,你是不是有很多朋友?为啥这次没更新教程了呢,其实这是因为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
c9a611e2124c5abbc4c8efa2fe3b81e5.png
Git简介​www.liaoxuefeng.com
3246ebf0d352886f3934fd4827168dd6.png

这些大神说得比我好,也比我全面。如果你只是想和我一样只用上面提到的那三个功能,那么也可以不用了解太多太深入,只需要跟着我的步骤走就好了。


首先,我们需要下载GIT的本体。可以在官方网站上下载:

Git​git-scm.com
b2b2735ec7896490db65dd4320403d21.png

当然这是国外的软件,放在国外的网站上。下载速度那叫一个慢。所以可以在Q群文件里找到最新的版本。

37b0f01837f20466c6e2f157391e3d23.png

选择对应的系统版本,比如我的是64位,所以我就下载箭头指向的那三个。

df4ee9b5d8260b8e70be6418219d9f8d.png

另外一个软件是“小乌龟git”待会说明。首先双击打开GIT。

06375740ea4f5e31ef0d9de0fa888aa4.png

d79f9eafececcb932060181e32837e67.png

安装路径可以自由选择,也不一定非得是C盘。

98a97e54cabc554285c35624e0c91077.png

这些设置默认就行。基本就是一路Next点下去。

626dd376c899f84ac56d1313e9374f4e.png

626dd376c899f84ac56d1313e9374f4e.png

0376862b4baeff9c4a241f3cfba69ce7.png

822a30d416c2aba3c37dc447cce4a585.png

2845926272646f4a42fb5ac1e7ddb231.png

1d5bec77d36365893bcd1f147e580b9c.png

3bd76b185a7dddbe69553d00e25d3b39.png

ebdcff056e1c1c4fed5bfacf319e262f.png

626dd376c899f84ac56d1313e9374f4e.png

看到这个界面说明已经安装完成。

a3c9ae42e416bc94201398e55d6c8ff6.png

之后在文件夹空白处点击右键,就能看GIT的两个菜单选项。一般打开GIT都是点击“Git Bash Here”,点开之后发现界面都英文:

17e27e5bbefb74e05c79f210e358f773.png

原版GIT就是这样,操作全是命令行,手输各种指令。


因此我们还要装一个“小乌龟”。

2288baa477e92d098e437c45822d5873.png

这个是一个GUI外壳,它能给GIT提供一个友好的用户界面。

0f0097282a4a690ce6963b61aa6f2902.png

因为官方LOGO是一只乌龟,所以我们经常叫它“小乌龟”。和之前一样,一路Next下去就行。

5b301cd92da1896cf1024802f7fa8b7d.png

c98dcf5033ff595efd7ab86232f0272c.png

c726fbef00d87439510fd809ec51fd34.png

9766be0a4752a0266e33efd6a69c71cd.png

4e54c41100270f9103dbb3d9a8dafebc.png

到这里就是安装完成了,接下来会自动弹出窗口让你设置一些信息,比如使用语言,在这里我们发现只能选择英语:

d10d6617ef0fb38f5e2a2a9231a3e188.png

那是因为还没有安装语言包,这个界面先这样放着,双击语言包安装。

90c988c3e12634d45dee696ed637a816.png

8b06936644529aa613a4abaa2b5b4002.png

318df90fe37c39f3e5528f80d45ee1a9.png

然后再返回小乌龟的配置界面,点击Refresh,就能看到中文的选项了。

0a78a34377252e321c8831e565a37058.png

993a7f90993b8ddcbd7a7d4e9a0ba751.png

然后会让你选择GIT本体所在的位置,一般会自动读取GIT的安装地址,如果你发现不一样,就改为你安装GIT的地址。

cd9d50d4e6966799fe5ddf418845d562.png

a4daa3ac69a318d7314aa997724f8237.png

名称和email是作为代码贡献者的标识,因为考虑到一个项目可能由多个人来协作完成。如果没有用户名啥的,就没法知道是谁上传的代码了。因此这里的名称可以取个网名,但是要能认出是你自己的网名就行。

ec8960983b4b6d1e83f823543253ed72.png

这个是要和云端仓库通信的设置,以后使用时再设置就行了。现在,软件已经全部安装完毕。


我来演示一下本篇的主题《如何使用GIT来更新ECBM库》。

奈特/ECBM库​gitee.com

先到gitee网站,点击克隆仓库,复制链接。

42c818ed98e7a067640f8d2b2fcc9a24.png

a6ba54d06d56f81bb705928850cb5cc9.png

别忘了点一下Star,这样才能第一时间收到更新信息推送。

47cb2eccb64c8bc816b6bd11784ec2e9.png

在一个空的文件夹里点击右键,选择Git克隆。

a882a254660d4b25e89e4014124d286f.png

小乌龟会自动从剪切板获取地址,只要你确实复制了ECBM库的网络仓库网址,就能自动识别出来,所以这里直接点“确定”就行。

32205f201796528d178709173e14def1.png

克隆成功之后,就会有一个ecbm_library的文件夹。文件夹里就有ECBM库了。

c89ca3aa1fd4c3fe5518d789695b4260.png

那个绿底白√是指这个文件和仓库记录一模一样。.git就是仓库,是隐藏文件夹。如果没有设置“显示所有文件夹”的话是看不见的。这个仓库非常重要,任何时候都不要修改、删除.git文件夹里的任何文件。


如果你的文件夹里有某个文件是红底感叹号的标志。

875e26aa0c2e4052f4009ff0f3b4d635.png

说明这个文件和仓库的不一致。这个时候可以用GIT查看差异的地方。

399fdd87868c533a75972a84d8110ff0.png

在标识的文件上点击右键,选择小乌龟的图标,然后选择比较差异。

8a0a1b8337cb12faf6829b563a96562f.png

凡是有差异的地方,无论是修改、删除还是增加。都能标识出来。我推荐呢,不要改动这个文件夹里的东西。想新建工程的时候把库复制出去就行了。如果复制的时候不小心选成了剪切怎么办呢?代码文件都剪切走了,只剩下一些许可文档。

7ee899badf61fcec32b36f40b598c016.png

不怕,只要.git在,一切都还在。只需要在空白处点击右键。点击小乌龟,然后选择版本库浏览器。

bdaa858917837155994c3ff3379e1f67.png

daf7b88606c164485894d2c2d42b21e6.png

18c9444bf9a25058048fc9ef0991d92d.png

54ba2e619e8d0a5a37d78b3d4174a316.png

在最新的版本那里点击右键,然后选择重置。重置类型选择硬重置,接着点确定。

ec10eddfed4cb33e6b88951a2d8f4167.png

这样就成功了,把这些窗口都关掉,看看文件夹里,是不是那些删掉、剪切走的文件都回来了?

d702fe3227eb6962117fb5e1362d2193.png

那么如果更新ECBM库,只需要登陆码云gitee,看看有没有更新推送(需要提前点击Star关注这个项目才行)。比如我现在更新了一些内容:

e38b1b85546c5872328b3fe4c1fd2d17.png

那么就回到你存放仓库的那个文件夹,点击右键,然后选择拉取

f84d64a4f681f5430632b2190990cb3b.png

a73f2059f513ad0d949c186e43fa8e36.png

点击确定。

d9ad4ff5db01481aed6aeed6e3d8fd03.png

显示成功就代表更新成功了。

900291a3c69c04ebb7ff55600160c491.png

仔细看看,ECBM_LIB文件夹里的template.h和template.c文件没了,因为这就是本次更新的内容啦。下次PWM教程发布的时候会同步更新ECBM2.1版,赶快去试试GIT吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值