个人项目[igit]
🚀 iGit - 智能 Git 工作流助手
💡 项目简介
在日常开发中,Git 工作流是每个开发者必不可少的一部分。然而,标准化提交信息、执行代码检查、确保代码质量等工作往往需要耗费大量的时间和精力。iGit 正是为解决这些问题而生的智能 Git 工作流助手,它能够帮助你实现更智能、更高效的 Git 工作流程。
✨ 核心特性
- 🤖 AI 驱动的提交信息 - 自动生成符合约定式提交规范的提交信息,让你的提交历史更清晰、更专业
- 🎯 智能 Git Hooks - 提供一系列开箱即用的 Git Hooks,帮助你规范代码提交流程
- 🎈 简单易用 - 通过简单的命令行工具,轻松集成到你的项目中
- ⚙️ 高度可配置 - 提供灵活的配置选项,满足不同项目的需求
🛠️ 技术栈
- Node.js
- OpenAI API
- Git Hooks
- YAML 配置
📝 安装与使用
- 安装依赖
1 | # 使用 npm |
- 初始化项目
1 | npx igit init |
这将在你的项目中创建一个 .config/igit.yaml
配置文件,你可以根据项目需求进行自定义配置。值得一提的是,配置文件支持 schema 编辑提示,让配置过程更加便捷。
- 安装 Git Hooks
1 | npx igit install |
这一步会根据你的配置文件设置所需的 Git Hooks,建议将该命令添加到package.json
的scripts.postinstall
中,方便使用。
- 使用 AI 提交功能
1 | # 修改代码后添加到暂存区 |
AI 会自动分析你的代码变更,生成符合约定式提交规范的提交信息。
🔧 配置详解
Git Hooks 配置
1 | hooks: |
暂存区 Hooks 配置
1 | staged_hooks: |
AI 提交配置
1 | ai: |
⚠️ 注意:不要将 API Key 直接写入配置文件。请使用环境变量
OPENAI_API_KEY
来设置。
🚀 最佳实践
1. 代码检查与格式化
配置暂存区 hooks 自动对修改的文件进行代码检查和格式化:
1 | staged_hooks: |
2. 提交信息规范
启用提交信息检查并自动添加 emoji:
1 | commit_msg: |
3. 自动化测试
在提交或推送代码前自动运行测试:
1 | hooks: |
📚 常见问题
Q: 如何跳过 hook 检查?
在特殊情况下,你可以使用 Git 的 --no-verify
选项跳过 hook 检查:
1 | git commit --no-verify -m "your message" |
⚠️ 注意:请谨慎使用
--no-verify
,它会跳过所有的 hook 检查。
Q: 如何改进 AI 生成的提交信息质量?
- 确保每次提交的变更都是相关的
- 在配置文件中使用更强大的 AI 模型(如 GPT-4)
- 提供更多的上下文信息
🔗 项目地址
GitHub: https://github.com/doremijs/igit
🌟 结语
iGit 通过结合 AI 技术和 Git Hooks,为开发团队提供了一种更智能、更高效的 Git 工作流解决方案。无论是个人开发者还是团队协作,iGit 都能帮助你提高代码质量,规范化提交流程,最终提升整体开发效率。
开始使用 iGit,让你的 Git 工作流更上一层楼吧!