在 Git 中,提交信息常常被忽视。 许多人认为提交信息只是保存更改的必要手段。 但有意义的提交信息是项目成功的决定性因素:它们确保了更改的可追溯性、高效的团队协作和更快的故障排除。 没有理由让提交信息在人工智能的帮助下自动准备。
在所谓的 挂钩 可以执行脚本,例如在 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 工具中使用。