我习惯用Git来管理自己的代码项目,由于自己过去参与开发思源笔记这个笔记软件的的主题外观,我需要把开发的主题外观代码要放在GitHub上。并且我不仅仅要写代码,更要给每次更改加tag、发版,才能被大家用上、大家才能看到更新。后面渐渐地,自己也有了一点点代码版本管理的心得。
以自己开发的钙信号提取软件为例,介绍下自己目前的代码版本管理方法
CHANGELOG.md
现在的代码项目我都会创建一个CHANGELOG.md
,这个文件我会记录自己每次更新了什么,每个版本新增了什么功能、修复的错误、改进的性能,这样可以记录这个代码项目的版本演变,有个清晰的变更记录。我习惯使用Gitmoji的方式记录和提交commit,即使用emoji以有趣直观的方式来对每个commit进行分类。可以一眼区分是🐛bug,✨功能改进,还是📝文档完善。
为了方便输入emoji,我会用两个插件
- mattbierner/vscode-emojisense:支持在markdown文件里输入
:
,就有emoji提示,输入:bug:
就变为🐛 - seatonjiang/gitmoji-vscode:可以在Git commit的界面选择emoji,并提供每个emoji的代表意义
release.sh
为了保存每个版本那时的代码,我还会在每次版本发布的时候,打上tag,git打tag的命令是
1 | # 打tag |
为了简便打tag发布到GitHub的流程,我还会创建一个release.sh
脚本,运行就自动打上tag,不需要每次都输入代码命令
1 | # Change directory to the script's directory |
这样,我在Github就可以保存每个版本的快照,万一有问题,也可以回溯
通过Github Action发布Release
如果有必要也可以创建Release发版,可以写一个Github Action创建步骤,打完标签,就自动发版
Github Action创建步骤
- 在你的项目根目录下,创建一个文件夹
.github/workflows
。 - 在该文件夹中创建一个新的YAML文件,例如
release.yml
。
release.yml
的内容
1 | name: Create Release on Tag |
自动发版