关于 gitmoji-commits
gitmoji-commits 是面向开发者的 Git 提交工作流技能,涵盖检查变更、拆分提交、选择表情符号、暂存和撰写简洁的 Conventional Commit 消息。
主要功能
- 01检查变更并按意图分组
- 02规划独立的提交边界
- 03按提交类型选择表情符号
- 04撰写带范围的 Conventional Commit 消息
- 05暂存变更并进行安全检查
- 06使用 gitmoji 选择脚本
适用场景
- 01整理工作区中的混合变更以准备提交
- 02将无关变更拆分为独立提交
- 03为变更类型选择表情符号
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ sthbryan/ gitmoji-skill --skill gitmoji-commits安装后在 Claude Code 中输入/gitmoji-commits确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AGENTS.mdLICENSEREADME.md.gitignoreevals/evals.jsonreferences/gitmoji-guide.mdscripts/gitmoji_selector.shtest.sh详细介绍
Gitmoji 提交
使用恰当的表情符号和范围,创建清晰、有目的的提交。
工作流(按顺序执行)
-
检查工作树
- 运行:
git status --short和git diff --stat - 按意图识别文件组(功能、修复、文档、测试、配置)。
- 运行:
-
规划提交边界
- 将无关的工作拆分为单独的提交。
- 对包含多种改动的文件使用
git add -p。
-
选择表情符号(优先使用核心映射)
- 首选:
bash scripts/gitmoji_selector.sh --emoji-only "<change summary>" - 如果不确定或属于罕见情况:参考
references/gitmoji-guide.md。
- 首选:
-
起草提交消息
- 格式:
emoji type(scope): subject - 主旨使用祈使语气,简洁明了(不超过 50 个字符)。
- 格式:
-
仅暂存预期的改动
- 运行:
git add <file>或git add -p - 使用
git diff --cached --stat重新检查。
- 运行:
-
提交前进行安全检查
- 确认没有密钥、调试日志或意外改动。
- 确认提交内容与消息相符。
-
提交并重复
- 运行:
git commit -m "<message>" - 重复此过程,直到工作树干净。
- 运行:
提交格式
✨ feat(auth): Add two-factor login
可选正文:
✨ feat(auth): Add two-factor login
- Add TOTP enrollment and verification
- Update auth service and user model
Closes #123
类型指南
使用 Conventional Commit 类型:
feat、fix、refactor、docs、test、perf、style、chore、ci、build
常见范围:auth、api、ui、db、ci、deps
核心表情符号映射(自动检测)
| 类型 | 表情符号 | 关键词 |
|---|---|---|
| 功能 | ✨ | add, new, implement |
| Bug 修复 | 🐛 | fix, bug, error |
| 简单修复 | 🩹 | typo, quick, one-liner |
| 文档 | 📝 | docs, readme, changelog |
| 测试 | 🧪 | test, spec, integration |
| 重构 | ♻️ | refactor, extract, restructure |
| 性能 | ⚡ | optimize, perf, cache |
| UI/样式 | 💄 | css, style, ui, theme |
| 依赖 | 📦 | npm, dependency, package |
| 安全 | 🔐 | security, cve, xss |
| 配置 | ⚙️ / 🔧 | config, setup, settings |
| 移除 | 🗑️ | remove, delete, deprecate |
| 重大改动 | 🔨 | rewrite, redesign, architect |
| 部署 | 🚀 | deploy, release, ship |
| SEO | 🔍 | seo, metadata |
| 国际化 | 🗣️ | translate, locale |
| Linter | 🚨 | eslint, prettier |
| 自动化 | 🔄 | github actions, workflow |
| 测试通过 | ✅ | tests passing, green build |
| 升级依赖 | ⬆️ | upgrade, bump |
| 降级依赖 | ⬇️ | downgrade |
| 类型/标签 | 🏷️ | type definitions, version tags |
| 文案/文本 | 💬 | copy, strings, text |
| 注释/备注 | 💡 | comment, todo, note |
| 模拟对象 | 🎭 | mock, stub |
特殊情况(优先级最高)
| 表情符号 | 使用时机 |
|---|---|
| ⏪ | 撤销提交 |
| 🔀 | 合并提交 |
| 🚑 | 紧急修复 |
| 🚧 | 进行中的工作 |
辅助脚本
# Emoji only (fast)
bash scripts/gitmoji_selector.sh --emoji-only "fix critical bug"
# JSON suggestion
bash scripts/gitmoji_selector.sh "update api docs"
# Full Conventional Commit
bash scripts/gitmoji_selector.sh --conventional feat auth "Add login"
评论
支持 Markdown