用途:根据当前仓库改动创建或修订英文 Conventional Commits 提交信息,适用于用户要求提交、修订代码或撰写提交消息的场景。
主要能力:先判断请求类型——仅要消息则只输出文本,仅要实现则保留本地改动与暂存区;提交、重写或推送仅在用户明确授权范围内执行。通过 git status --short --branch、git diff --cached、git diff 检查改动,基于仓库状态而非对话记忆撰写消息。检查当前分支与远程默认分支(git fetch origin --prune、git branch --show-current、git ls-remote --symref origin HEAD),若当前分支落后或分叉会先报告。
使用方式:若当前分支为默认分支且用户未明确要求在此提交,会询问是否新建分支;已知任务分支命名遵循项目约定并保留跟踪器 ID 原始大小写,如 feat/gh-42-session-cache。保留暂存区:有已确认范围时不再询问;仅暂存改动则提交暂存内容,仅未暂存改动则暂存全部,两者都有且无确认范围时询问。每个最终提交保持一个逻辑功能或独立改动,含测试与文档。消息格式为 <type>(<scope>): summary,摘要不超过 50 字符、祈使语气、无句号,正文至少一条具体要点,破坏性变更才加 ! 与 BREAKING CHANGE: 页脚。类型包括 feat ✨、fix 🐛、docs 📚、style 💄、refactor ♻️、perf ⚡、test ✅、build 🔧、ci 👷、chore 🔨、revert ⏪。依赖更新需逐项列出旧版本到新版本。完成已验证 GitHub issue 时在正文加 Fixes #42 或 Fixes owner/repo#42,部分解决用 Refs #42。
限制:不运行仅为提交的额外项目检查;不设置 git commit 执行超时,等待 Git 与钩子自然退出;未经用户明确批准不得绕过钩子;修正已合并工作需新提交,仅在有重写授权时才能 amend 或 autosquash fixup。资料未提供具体安装命令与平台信息。