git-commit
Featured仅用 Git 分析改动并自动生成 conventional commit 信息(可选 emoji);必要时建议拆分提交,默认运行本地 Git 钩子(可 --no-verify 跳过)
AI & Automation 6,083 stars
421 forks Updated 1 weeks ago MIT
Install
Quality Score: 92/100
Stars 20%
Recency 20%
Frontmatter 20%
Documentation 15%
Issue Health 10%
License 10%
Description 5%
Skill Content
# Claude Command: Commit (Git-only)
该命令在**不依赖任何包管理器/构建工具**的前提下,仅通过 **Git**:
- 读取改动(staged/unstaged)
- 判断是否需要**拆分为多次提交**
- 为每个提交生成 **Conventional Commits** 风格的信息(可选 emoji)
- 按需执行 `git add` 与 `git commit`(默认运行本地 Git 钩子;可 `--no-verify` 跳过)
---
## Usage
```bash
/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
1. **仓库/分支校验**
- 通过 `git rev-parse --is-inside-work-tree` 判断是否位于 Git 仓库。
- 读取当前分支/HEAD 状态;如处于 rebase/merge 冲突状态,先提示处理冲突后再继续。
2. **改动检测**
- 用 `git status --porcelain` 与 `git diff` 获取已暂存与未暂存的改动。
- 若已暂存文件为 0:
- 若传入 `--all` → 执行 `git add -A`。
- 否则提示你选择:继续仅分析未暂存改动并给出**建议**,或取消命令后手动分组暂存。
3. **拆分建议(Split Heuristics)**
- 按**关注点**、**文件模式**、**改动类型**聚类(示例:源代码 vs 文档、测试;不同目录/包;新增 vs ���除)。
- 若检测到**多组独立变更**或 diff 规模过大(如 > 300 行 / 跨多个顶级目录),建议拆分提交,并给出每一组的 pathspec(便于后续执行 `git add <paths>`)。
4. **提交信息生成(Conventional 规范,可选 Emoji)**
- 自动推断 `type`(`feat`/`fix`/`docs`/`refactor`/`test...
Details
- Author
- UfoMiao
- Repository
- UfoMiao/zcf
- Created
- 1 years ago
- Last Updated
- 1 weeks ago
- Language
- TypeScript
- License
- MIT
Integrates with
Similar Skills
Semantically similar based on skill content — not just same category
Code & Development Solid
git-commit
当用户明确要求"提交 Git 改动"、"生成 commit 信息"或"创建 git commit"时使用。仅用 Git 分析改动并自动生成 conventional commit 信息(可选 emoji);必要时建议拆分提交,默认运行本地 Git 钩子(可 --no-verify 跳过),提交后默认自动 push(可 --no-push 跳过)。
48 Updated today
huangwb8 Code & Development Listed
commit
按照 git 规则自动分析变更并提交代码
0 Updated yesterday
pkulijing Code & Development Listed
git-commit
按 Conventional Commits 规范生成提交信息并提交。当用户请求 commit/提交代码/总结变更/提交代码时触发。禁止跳过本技能直接执行裸 git commit。
1 Updated 4 weeks ago
structure-projects