使用git托管keil工程
1.前言
昨天原本想用vscode替换keil,结果vscode没搞定,还差点连工程都没了,想来想去还是要做好备份和版本控制,于是早上花了点时间研究了一下git托管的事情。也确实如网上所说,git托管只能算是一个半成品,但聊胜于无,搞一下算了,顺带也记录一下怎么用省得下次再折腾。
2.前期准备
首先确保安装好git,同时用以下两句话对git的全局姓名和邮箱进行配置。
git config --global user.name "bryan sun"
git config --global user.email "hitsjt@gmail.com"
之后我们好一个gitee仓库,正常注册,不需要初始化
然后准备好keil工程,在最上面找到svcs,选择configure
选择配置文件
keil自带的git文件在uv4文件夹下面
3.本地仓库设置
我们要在根目录下创建
在根目录下右键,选择open git bash here
首先我们对git进行初始化
#提交检出均不转换
git config --global core.autocrlf false
git init
一切正常后我们的文件夹变为了master,文件夹里出现了git文件夹(隐藏的)
keil编译后会产生大量的链接等文件,这些是我们不需要的,如果推送的话会占用大量空间,而且推送也很麻烦,所以这里建议添加一个忽略文件,我们接着输入下面的命令
touch .gitignore
文件夹里面出现了文件,这里是然后按照语法把我们不需要推送的文件和文件夹写到里面,具体如何编辑大家可以去网上找找资料,下面是我写的语句,给大家参考参考
Obj/
user/Objects/
user/Listings/
*.18752
编辑完成后我们在git里面接着按照顺序添加以下语句
git add .
git commit -m '首次推送'
输入完最后一句后,git会把推送的文件展示给你,你可以再看看有哪些文件需要忽略的,可以重新添加到忽略文件内
4.远程仓库推送
如果没有问题了,我们就可以推送本地文件到远程里了,输入以下语句
#使用gitee作为托管仓库.
git remote add origin https://gitee.com/PanBangYan/stm32-f407_-learn
git push -u origin "master"
输入完毕后,git会把本地文件推送上云端,速度还是比较快的
我们看回gitee上
可以看到所有文件正常推送上来了
我们回到keil内在svcs下面就是keil自带的git命令了
我们选择status,查看当前工程状态
如果一切正常就会出现下面的提示
6.git代码创建与修改
keil自带的git命令并不好用,我们需要重新编写代码
首先我们先要新建命令
在跳出来的框里输入提示词(个人读法),这里只是给你一个方便理解的词,并不是命令
这里我以查看分支为例,我写的提示词是Ensure branch
我们常规的git命令,在最开头都是以git开头,比如查看所有分支
git branch
在keil里我们的命令分为了两段,首先是开头,在command栏里因为我们用的是git,所以后续所有命令这边都填git
然后是arguments,我们将后面的代码填入即可
代码输入完毕后点击OK保存
我再举个例子,比如推送本地代码到远程master分支,我们正常git代码是
git push master
那么我们的command就是git,arguments就是push master
那么我们怎么使用这些代码呢?
我们在正常编写栏里直接点击SVCS
比如确认分支,我们就点击我们刚刚写好的命令:Ensure branch
然后在最底下可以看到效果和使用cmd中输入命令的效果是一致的
这样一来我们就可以根据需要编写我们需要的git命令了
7.keil SVCS高级命令
我们有时候需要对单个文件进行操作,而keil中也提供这种操作。keil自带一个比对的命令,这里我来简单解读一下。
我们注意,在提示词框里输入“%F”,我们在底下命令里使用#F就是对当前正在操作的文件进行单一git操作。
比如这里我们打开的是Readme这个文件,这里显示的就是Readme
我们重新打开main文件,上面也就可以指定main文件了
当然keil还带了更多操作,可以点击help来看看有没有你需要用的,里面对所有高级用法都有解释
8.参考命令
8.1 分支切换与合并
8.2 推送本地代码到远程
8.3 拉取
9.实际使用
这里我想多说一点,keil里的版本管理并不怎么好用,我这里建议加一些额外的工具
首先是图形化版本管理软件,全网比较多,这里我用的是Fork,可以让你更直观地看到整个项目的代码情况
此外我们使用的时候还是建议两个分支,dev作为开发分支,master作为稳定分支。做好版本号和评论的管理,这是一个中大型项目必备的要求之一,这里给大家一个gitcode官方的链接,里面有比较详细的描述
项目首页 - 软件产品版本号命名规则文档:本开源项目提供了一份《软件产品版本号命名规则》文档,旨在为软件开发团队建立统一的版本号命名标准。通过遵循该规则,团队能够提升软件产品在整个生命周期内的管理水平,确保开发、测试、更新和升级过程更加高效和规范。文档详细规定了版本号的结构、命名格式、变更流程及管理机制,帮助团队实现版本号的有序管理。无论是开发人员、测试人员还是项目管理人员,都能从中受益,提升协作效率。文档将持续更新,欢迎反馈与建议,共同推动其完善。 - GitCode
10.结语
总的来说keil的版本管理还是比较麻烦的,但是版本管理是我们必须要做好的事情,我们常常遇到开发过程中的bug,如果不做好版本管理,回退的时候那可就是灾难了。客观来说,keil只提供了一个git代码输入的快捷方式,其实并没有像vscode那样做的很好, 所以还需要各种各样的辅助。不过怎么说呢,有总比没有好吧。那么OK,还是老样子有问题评论区见,我们下一篇文章见。