Git提交管理Skill commit-work

这个技能用于在软件开发中,通过系统化的工作流程,创建高质量的Git提交,包括审查更改、逻辑分割、编写清晰提交消息,以提高代码审查效率和部署安全性。关键词:Git提交、版本控制、软件开发、代码管理、提交消息、Conventional Commits、高质量提交。

DevOps 0 次安装 0 次浏览 更新于 3/20/2026

name: commit-work description: “创建高质量的Git提交:审查/暂存预期更改,分割成逻辑提交,并编写清晰的提交消息(包括Conventional Commits)。当用户请求提交、制作提交消息、暂存更改或将工作分割成多个提交时使用。”

提交工作

目标

创建易于审查和安全部署的提交:

  • 只包含预期更改
  • 提交具有逻辑范围(必要时分割)
  • 提交消息描述更改了什么以及为什么

询问的输入(如果缺失)

  • 单个提交还是多个提交?(如果不确定:当有无关更改时,默认使用多个小提交。)
  • 提交风格:必须使用Conventional Commits。
  • 任何规则:最大主题长度,必需的范围。

工作流程(检查清单)

  1. 暂存前检查工作树
    • git status
    • git diff(未暂存)
    • 如果更改很多:git diff --stat
  2. 决定提交边界(必要时分割)
    • 分割依据:功能 vs 重构,后端 vs 前端,格式 vs 逻辑,测试 vs 生产代码,依赖升级 vs 行为更改。
    • 如果更改在一个文件中混合,计划使用补丁暂存。
  3. 只暂存属于下一个提交的内容
    • 对于混合更改,优先使用补丁暂存:git add -p
    • 取消暂存一个块/文件:git restore --staged -pgit restore --staged <路径>
  4. 审查实际将要提交的内容
    • git diff --cached
    • 合理性检查:
      • 没有秘密或令牌
      • 没有意外的调试日志
      • 没有无关的格式更改
  5. 在编写消息之前,用1-2句话描述暂存的更改
    • “更改了什么?” + “为什么?”
    • 如果不能清晰描述,提交可能太大或混合;返回步骤2。
  6. 编写提交消息
    • 使用Conventional Commits(必需):
      • type(scope): 简短摘要
      • 空行
      • 正文(什么/为什么,不是实现日记)
      • 如果需要,页脚(BREAKING CHANGE)
    • 对于多行消息,优先使用编辑器:git commit -v
    • 如果有帮助,使用 references/commit-message-template.md
  7. 运行最小的相关验证
    • 在继续之前,运行仓库中最快的有意义的检查(单元测试、代码检查或构建)。
  8. 重复下一个提交,直到工作树干净

交付物

提供:

  • 最终的提交消息(s)
  • 每个提交的简短摘要(什么/为什么)
  • 用于暂存/审查的命令(至少:git diff --cached,加上任何运行的测试)