Git 中的提交信息经常被忽视。许多人认为它们只是保存更改的必要手段。然而,有意义的提交信息是项目成功的关键因素:它们确保了变更的良好可追溯性、高效的团队协作以及更快的 bug 修复。这足以说明使用 AI 自动生成提交信息的重要性。
在所谓的 挂钩 是否可以使用脚本,例如 自动化测试 或者在 Git 工作流程期间对特定事件运行代码审查。客户端 prepare-commit-msg-钩立即 之前 例如,必须在文件夹 ~/git-template/hooks/prepare-commit-msg 立案:
0d311d3e3743f65bd1f7fa370c3b3848
然后添加 OpenAI API 密钥 排队 \(4\) 并且,如有必要,修改在线使用的 ChatGPT 模型 \(5\) (在我们的例子中 gpt-4o)。然后我们使脚本可执行 chmod +x ~/git-template/hooks/prepare-commit-msg 并设置为 git config --global core.hooksPath ~/git-template/hooks 是全局 Git 配置中 Git 钩子的默认目录。
重要提示:这意味着你不再需要在 .git/hooks, 但在 ~/git-template/hooks 如果你想继续使用特定于项目的钩子,你可以 git config core.hooksPath .git/hooks && ln -s ~/git-template/hooks/prepare-commit-msg .git/hooks/prepare-commit-msg 在相应的项目中。如果您想再次停用该脚本,只需 git config --global --unset core.hooksPath.
脚本为 扩散 会自动为提交信息创建一个合适的模板: git add -A . && git commit. 或者,您也可以发送空信息("."),该信息会被自动覆盖: git add -A . && git commit -m "." && git push – 但要注意:这里已无法验证信息。
如今,AI 模型已非常先进,能够根据所做的更改生成非常合理的自动提交消息。通过调整提示符(从第\(13\)您可以进一步优化返回结果并使其适应您的需求。顺便说一句,该脚本也可在Tower和SmartGit等 Git UI 工具中使用。