撰写良好的 Git 提交信息对于维护清晰的项目历史记录非常重要,但这往往会让人感觉很麻烦。AI 工具能帮助你快速、轻松地创建提交信息,从而简化这一过程。
本文将介绍其中五种工具。让我们深入了解这些工具的工作原理、优势以及需要考虑的限制。
GitHub Copilot
GitHub Copilot 是由 GitHub 开发的一款流行的人工智能工具。一旦启用,它可以通过建议代码片段、完成代码行以及根据代码中的更改生成提交信息来帮助你提高工作效率。
它与 Visual Studio Code (VSCode) 无缝集成。在 VSCode 中启用 Copilot 后,就能在 Git 提交输入中找到小火花图标。
只需点击图标即可生成提交信息。为了达到最佳效果,我建议在生成提交信息之前,先暂存有相关变更的文件。
优点
- 根据文件更改生成准确的提交信息,可靠而稳定。
- 通过插件与 GitHub 生态系统、VSCode 和其他流行的集成开发环境(如 JetBrains IDE)深度集成。
- 提供免费层。
缺点
- 免费层有使用限制。如果达到限制,功能可能无法使用。
- 默认情况下,它只能生成简短、基本的信息,不能生成完整描述或 Commitizen 等自定义格式。
- 不支持 Ollama。
CursorAI
CursorAI 是一款以人工智能为重点的代码编辑器,内置了生成提交信息的工具。由于它与 Visual Studio Code 基于相同的编辑器,因此工作原理也类似。你会在“源代码控制”面板中的 Git 提交输入中发现一个火花图标,点击它就能生成一条信息。
不过,根据我的经验,与 GitHub Copilot 相比,它生成的提交信息往往不够准确。
例如,对于相同的暂存文件和更改(见上文 GitHub Copilot 部分),GitHub Copilot 能正确识别重命名的文件和改进的结构,而 CursorAI 却将其描述为添加,如下图所示:
优点
- 人工智能功能开箱即用,无需额外的扩展或插件。
- 可通过免费层级访问人工智能工具。
- 支持 OpenAI、Anthropic、Google 和 Azure 的多种模型。
缺点
- 免费层有使用限制。如果你经常在项目中使用人工智能功能,可能会遇到限制。
- 与 GitHub Copilot 相比,生成的提交信息可能不够准确。
- 不支持 Ollama。
czg
czg 是一款基于流行的 Commitizen 框架并加入人工智能功能的工具。它能帮助你使用引导式工作流程编写结构化且一致的提交信息。
你可以通过 NPM 轻松安装它,它同时与 OpenAI 和 Ollama 协作,允许你选择生成提交信息的 AI 模型。
安装和配置完成后,就可以运行了:
czg ai
如果你使用的是 Ollama,输出结果取决于你选择的模型。为了获得更好的结果,我建议使用具有代码能力的模型,如 qwen2.5-coder 、yi-coder 或 codellama。较大的模型通常能提供更准确的信息。
接受提交信息,它就会为你创建提交。
优点
- 完全支持 Commitizen 配置。
- 支持表情符号。
- 支持 OpenAI 和 Ollama。
- 免费、开源。
缺点
- 旨在生成带有 Commitizen 配置和规范的提交。
- 对于某些用户来说,配置可能不够直观,但如果你是开发人员并已熟悉命令行,应该没问题。
OpenCommit
OpenCommit 是一款便捷的 CLI 工具,能帮助你快速编写代码修改的 Git 提交信息。它能在几秒钟内分析你的修改并创建提交信息,而不用花时间考虑写什么。
它支持流行的 OpenAI 模型,如 GPT-3 和 4,甚至还能与 Ollama 一起使用本地模型。它易于设置,还能根据你的喜好在信息中添加有趣的表情符号。
优点
- 支持 OpenAI API 和 Ollama。
- 默认使用常规提交,可通过全局变量或 CLI 选项进行配置。
- 支持 GitHub Action。
- 免费且开源。
缺点
- 生成的信息往往不能准确描述变更集。有时会出现冗余或格式不当的情况。
AI Commits
AI Commits,这是另一款 CLI 工具,可帮助你根据代码变更自动生成清晰、相关的提交信息。它使用 OpenAI 分析变更,并为你推荐合适的提交信息。
与 czg 和 OpenCommit 一样,你可以通过 NPM 安装它。安装和设置完成后,你可以使用以下命令:
aicommits
优点:
- 安装简单,配置直接。只需设置 OpenAI 密钥,一切就绪。
- 支持使用 CLI 参数的常规提交。
- 免费、开源。
缺点:
- 不支持 Ollama。
小结
选择合适的人工智能提交工具取决于你的工作流程和偏好。
例如,如果你已经在使用GitHub Copilot(就像我一样!)或 Cursor,可能值得坚持使用提交信息编辑器–它既方便又集成。另一方面,如果你的团队遵循严格的提交标准(比如使用Commitizen 的项目),czg或AI Commits等工具可能是更好的选择。
这些工具大多是免费的,或者提供试用版!试用一两天,看看感觉如何。你可能会比预期节省更多的时间(和脑力)。
评论留言