





全面介绍
✨ smartcommit: 告别平庸,提交信息也能高光闪耀!
你是否也曾为如何撰写清晰有意义的提交信息而烦恼?我们理解你的心情!虽然AI很强大,但那份对代码的深刻理解和独特解释,只有你才能给出。 这正是 smartcommit 诞生的初衷!
💡 smartcommit 的核心理念
“我时常发现自己在提交信息上有些懒散,但我不想让AI来替我写,因为只有我自己可以真正理解为什么写下了这些代码。这正是我开发‘smartcommit’的原因。”
在一项目经历了六个月的困惑后,我决定制作这个工具,让提交信息变得更加明晰。
smartcommit 不会替代你,而是会引导你、帮助你将那些散落在脑海中的想法,整理成一条条清晰明了的提交信息,精准表达你的每一次更改。
🎯 smartcommit 如何助你一臂之力?
smartcommit 通过巧妙地提问,引导你梳理思绪,最终形成高质量的提交信息。它能帮你:
- 清晰表达更改内容: 告诉大家你做了什么。
- 细致说明更改方式: 为什么选择了这种实现路径。
- 深刻阐述更改原因: 这次改动背后的思考与目的。
🚀 快速上手 (Quickstart)
安装 git-quick,体验智能提交的便捷!
pip install git-quick
🔌 选择你的 AI 助手 (可选)
A. Ollama(本地,免费,推荐)
追求本地化和免费?Ollama 是你的不二之选!
# 安装 Ollama
curl -fsSL https://ollama.ai/install.sh | sh
# 拉取模型
ollama pull llama3.2
# 完成!Git Quick 将默认使用 Ollama
B. OpenAI
如果你更偏爱 OpenAI 的强大能力,配置也非常简单:
# 创建配置文件
cat > ~/.gitquick.toml << EOF
[quick]
ai_provider = "openai"
[ai]
openai_api_key = "sk-..."
EOF
C. 不使用 AI
如果你更喜欢纯粹的交互式引导,可以跳过 AI 步骤:
# 使用 --no-ai 标记,进行简单生成
gq --no-ai
🎬 体验智能提交流程
在你的 Git 仓库中,只需几步即可体验:
- 切换到你的项目目录:
cd /path/to/your/project - 进行一些代码改动:
echo "test" >> README.md - 运行
gq,让 smartcommit 帮助你:gq
你将看到:
- ✅ 已暂存的更改
- 🤖 AI 辅助生成的提交信息
- 💬 确认提示
- 🚀 自动提交并推送
🛠️ smartcommit 的强大功能一览
smartcommit (及其背后的 git-quick 工具集) 提供了一系列提升 Git 工作流效率的功能:
1. ⚡ 快速提交与推送 (gq)
一键完成暂存、生成提交信息、提交和推送。
- 交互式智能提交:
gq - 自定义提交信息:
gq -m "feat: add new feature" - 只提交不推送:
gq --no-push - 跳过 AI:
gq --no-ai - 预览操作:
gq --dry-run
2. 📖 精美提交历史 (gq story)
以可视化的方式探索你的提交历史,支持多种分组和导出格式。
- 显示自上次发布以来的提交:
gq story - 按类型分组:
gq story --group-by type - 导出为 Markdown:
gq story --format markdown > CHANGELOG.md
3. ⏱️ 时间追踪 (gq time)
轻松追踪你在不同分支上的投入时间,帮助你更好地管理项目进度。
- 开始追踪当前分支:
gq time start - 查看所有分支的时间报告:
gq time report --all
4. 🔄 分支同步 (gq sync)
一键更新所有本地分支,保持与远程仓库同步,告别繁琐的手动操作。
- 同步所有分支:
gq sync - 预览同步操作:
gq sync --dry-run
5. 💻 VS Code 扩展
在 VS Code 中无缝集成 smartcommit,通过快捷键和命令面板快速操作。
- 快捷提交与推送:
Ctrl+Shift+G Q - 生成 AI 提交信息:
Ctrl+Shift+G M
⚙️ 高级配置与自定义
smartcommit 支持丰富的配置选项,让你能根据团队或个人偏好进行调整:
- 自动推送 (
auto_push): 提交后是否自动推送。 - Emoji 风格 (
emoji_style): 支持 Gitmoji 等多种 Emoji 样式。 - AI 提供商 (
ai_provider): 选择 Ollama 或 OpenAI。 - 项目级别配置: 在仓库根目录创建
.gitquick.toml,轻松实现项目特定配置。
例如,为项目禁用 Emoji 并强制使用 Conventional Commits:
# .gitquick.toml (项目根目录)
[quick]
emoji_style = "none"
conventional_commits = true
auto_push = false # 团队偏好手动推送
💖 社区与支持
smartcommit 是一个由开发者为开发者打造的工具,我们欢迎你的加入和反馈!
- GitHub Issues: 报告 Bug 🐛
- Discussions: 提出问题和想法 💬
- MIT 许可证:自由使用和修改!
















