Към всички skills
git-commit
仅用 Git 分析改动并自动生成 conventional commit 信息(可选 emoji);必要时建议拆分提交,默认运行本地 Git 钩子(可 --no-verify 跳过)
Оригинален текст · няма потвърден превод на българскиПърво прочетете инструкцията.
Файлът се зарежда от посочения източник само по ваше действие. Можете да го прочетете тук, да го копирате или да го запазите като .md.
GitHub хранилище- Звезди на репото
- 6080
- Лиценз
- MIT
- Последна проверка на записа
- 21.09.2026 г.
Добавете в своя инструмент.
Командата отваря избора на skills от репозитория. Прочетете файла и условията на автора преди изпълнение.
npx skills add UfoMiao/zcfСтраницата копира текст. Не инсталира и не изпълнява нищо на устройството ви.
Откъс от SKILL.md
Началото на файла на автора, без превод.
Claude Command: Commit (Git-only)
该命令在不依赖任何包管理器/构建工具的前提下,仅通过 Git:
- 读取改动(staged/unstaged)
- 判断是否需要拆分为多次提交
- 为每个提交生成 Conventional Commits 风格的信息(可选 emoji)
- 按需执行
git add与git commit(默认运行本地 Git 钩子;可--no-verify跳过)
Usage
/git-commit
/git-commit --no-verify
/git-commit --emoji
/git-commit --all --signoff
/git-commit --amend
/git-commit --scope ui --type feat --emoji
Options
--no-verify:跳过本地 Git 钩子(pre-commit/commit-msg等)。--all:当暂存区为空时,自动git add -A将所有改动纳入本次提交。--amend:在不创建新提交的情况下修补上一次提交(保持提交作者与时间,除非本地 Git 配置另有指定)。--signoff:附加Signed-off-by行(遵循 DCO 流程时使用)。--emoji:在提交信息中包含 emoji 前缀(省略则使用纯文本)。--scope <scope>:指定提交作用域(如ui、docs、api),写入消息头部。--type <type>:强制提交类型(如feat、fix、docs等),覆盖自动判断。
注:如框架不支持交互式确认,可在 front-matter 中开启
confirm: true以避免误操作。
What This Command Does
-
仓库/分支校验
- 通过
git rev-parse --is-inside-work-tree判断是否位于 Git 仓库。 - 读取当前分支/HEAD 状态;如处于 rebase/merge 冲突状态,先提示处理冲突后再继续。
- 通过
-
改动检测
- 用
git status --porcelain与git diff获取已暂存与未暂存的改动。 - 若已暂存文件为 0:
- 若传入
--all→ 执行git add -A。 - 否则提示你选择:继续仅分析未暂存改动并给出建议,或取消命令后手动分组暂存。
- 若传入
- 用
-
拆分建议(Split Heuristics)
- 按关注点、文件模式、改动类型聚类(示例:源代码 vs 文档、测试;不同目录/包;新增 vs 删除)。
- 若检测到多组独立变更或 diff 规模过大(如 > 300 行 / 跨多个顶级目录),建议拆分提交,并给出每一组的 pathspec(便于后续执行
git add <paths>)。
-
提交信息生成(Conventional 规范,可选 Emoji)
- 自动推断
type(feat/fix/docs/refactor/test/chore/perf/style/ci/revert…)与可选scope。 - 生成消息头:
[<emoji>] <type>(<scope>)?: <subject>(首行 ≤ 72 字符,祈使语气,仅在使用--emoji时包含 emoji)。 - 生成消息体:
- 必须在 subject 之后空一行。
- 使用列表格式,每项以
-开头。 - 每项必须使用动词开头的祈使句(如 "add…"、"fix…"、"update…")。
- 禁止使用冒号分隔的格式(如
"Feature: description"、"Impl: content")。 - 说明变更的动机、实现要点或影响范围(3 项以内为宜)。
- 生成消息脚注(如有):
- 必须在 Body 之后空一行。
- BREAKING CHANGE:若存在破坏性变更,必须包含
BREAKING CHANGE: <description>,或在类型后添加感叹号(如feat!:)。 - 其它脚注采用 git trailer 格式(如
Closes #123、Refs: #456、Reviewed-by: Name)。
- 根据 Git 历史提交的主要语言选择提交信息语言。优先检查最近提交主题(例如
git log -n 50 --pretty=%s)判断中文/英文;若无法判断,则回退到仓库主要语言或英文。 - 将草稿写入
.git/COMMIT_EDITMSG,并用于git commit。
- 自动推断
-
执行提交
- 单提交场景:
git commit [-S] [--no-verify] [-s] -F .git/COMMIT_EDITMSG - 多提交场景(如接受拆分建议):按分组给出
git add <paths> && git commit ...的明确指令;若允许执行则逐一完成。
- 单提交场景:
-
安全回滚
- 如误暂存,可用
git restore --staged <paths>撤回暂存(命令会给出指令,不修改文件内容)。
- 如误暂存,可用