git-commit
Installation
SKILL.md
只提交本会话改动的文件。改动来源以会话记录为准:范围取自本会话的 Write、Edit 调用,git 命令只用来核对与执行。
流程
1. 检查
- 从对话上下文列出本会话修改或新建的仓库文件(会话文件)。
- 运行
git worktree list与git rev-parse --abbrev-ref HEAD,记录当前所在 worktree 与分支。会话文件路径不在当前 cwd 所在 worktree 内(典型:误指向主仓库目录)时,停止并说明:提交将落到错误分支。 - 运行
git status --porcelain列出全部改动(未跟踪、已暂存、未暂存都在内),与会话文件对照:- 改动不在会话文件中:会话外改动,单列出来。
- 会话文件未出现在改动中:实际未改动,剔除并说明。
- 运行
git diff --stat与git diff -- <会话文件>确认每项改动都应提交。新建的未跟踪文件直接读内容确认。 - 确定提交与分支约定:目标仓库有自己的约定(
CONTRIBUTING.md、AGENTS.md、docs/中的提交与分支规则)时以它为准,没有时用references/git-workflow.md作缺省约定。据此起草 commit message。当前分支是默认分支时,按约定的命名规则确定功能分支名。 - 从对话上下文识别关联 issue(
#N或 issue 链接),在 commit message 中写Fixes #N或Related to #N(按用户意图选)。本 skill 不关闭 Issue、不改 GitHub Project:PR 入板置In review由/open-pr做,合并后置Done并关闭 Issue 由/merge-pr做。