我是这样 Git Commit 和撰写 Release Notes 的
在 AI 逐渐成为时代主角的今天,我也在寻找将其融入日常工作的方式。今天,我想分享一下,我是如何结合传统的 Git 提交与现代 AI 技术,来优化我的产品更新记录和发布日志的撰写过程。
我的工作流程很简单,因为简单易行才能形成习惯:
- Git Commit: 按照约定式提交规范撰写每一次 Git commit message;
- Git Tag: 妥善管理 Git Tag,特别是版本 Tag;
- Git Log: 导出 Git 提交日志;
- Release Notes: 借助 ChatGPT 生成发布日志文案;
- Release: 结合优化后的 Release Notes 文案,在平台上发布信息及安装包。
Git Commit
Conventional Commit
我提倡使用 Conventional Commit 规范来撰写 Commit 信息。为何要使用这一规范?它不仅帮助自动化生成 CHANGELOG,还有助于自动确定语义化的版本变化,同时向同事和利益相关者清晰传达变化。而且,它简化了提交历史的探索,降低了为项目贡献的难度。
在实践中,我发现 Conventional Commit 规范让我的 Git 历史更加清晰,每当回顾时,就像翻阅一本精心编排的故事书。
借助工具
为了提高效率我们需要借助一些工具撰写提交信息,其实网上也已经有借助 AI 来撰写 Commit 的了,我的工作流还没加入,暂且还是希望这一颗粒度的工作自己来把控,如果你对 AI 撰写 Commit 感兴趣的可以了解下 aicommits。
可用工具:
- 更通用的方式(推荐):Raycast 的 Conventional Comment 插件;
- 命令行下:commitizen;
- vscode 下:git-commit-plugin
我正在使用第一个工具,不管是在 Xcode、命令行还是 Vscode 或者其他 IDE,我都可以使用 Raycast 的 Conventional Comment 插件通过填写表单的形式生成 Commit 信息。
Git Tag
随着功能的实现、问题的修复以及性能的优化,会逐步完成规划的版本,所以在完成版本的最后一个提交是我都习惯打 Tag,不管是命令行还是 GUI 的 IDE 中我都建议做这一步。
版本作为关键节点会清晰的展示 App 的发展脉络,也方便 Git Log 追溯代码和导出提交日志。
Git Log
完成 Tag 之后,我一般会使用命令导出新版本和上一个版本间的提交信息。比如:
这样我会得到 CHANGELOG 的关键参考信息。
Release Notes
为此我专门做了一个 GPT — Release Note Translator,链接为:https://chat.openai.com/g/g-AsvlD8ESW-release-note-translator,如果你也需要的话可以试试。对话中直接上传上面提交信息的 txt 文件或者发送提交信息都可以,然后就会看到结果了,最终可以得到 Release Notes、概述和推特帖子参考。
Release
最后我会对文案进行适当优化修改,然后在发布平台发布信息,比如 App Store、小红书、Twitter 等。
总结
总结来说,AI 的辅助无疑提高了我的工作效率,同时也为产品的持续发展注入了新的活力。在这个快速变化的时代,合理利用 AI 的辅助能力,不仅能提高效率,还能激发我们的创造潜力。