高质量Git提交 high-quality-commit

高质量Git提交技能是一个专注于代码版本控制的专业工具,旨在帮助开发者遵循最佳实践来管理Git提交历史。它通过智能策略判断(如Squash、新建提交、交互式变基)和结构化提交信息模板,确保每次提交都是原子性、可读且逻辑清晰的。该技能适用于团队协作、代码审查和项目维护,能显著提升版本历史的质量和可追溯性。关键词:Git提交策略、Squash合并、交互式变基、提交信息规范、版本控制最佳实践、原子提交、代码历史管理、DevOps工作流。

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

name: high-quality-commit description: 使用适当的git提交策略提交代码变更。基本采用对现有git提交的squash策略,必要时重构整个分支的git提交历史。在实现完成或用户请求git提交时使用。

高质量提交

本技能提供将代码变更记录为高质量git提交的全面指导。

使用说明

步骤1:确认分支和git提交历史

使用以下命令确认当前状态:

git status
git log --oneline --graph origin/main..HEAD

确认事项:

  • 当前分支名称
  • 从main分支领先了多少个git提交
  • 每个git提交的内容和粒度

步骤2:判断git提交策略

根据以下标准选择git提交策略:

策略A:Squash(基本策略)

满足以下条件时,squash到现有git提交:

  • 分支中已存在git提交
  • 变更内容与现有git提交的主题/功能相关
  • 没有合理的理由分开提交

执行方法:

git add -A
git commit --amend

请适当更新提交信息。

策略B:新建git提交

以下情况新建git提交:

  • 分支中的首次提交
  • 与现有git提交不同的独立变更
  • 分开提交能使历史更易理解

执行方法:

git add -A
git commit

策略C:交互式变基(提交重构)

以下情况重构整个分支的git提交:

  • 想将多个小提交整理为逻辑单元
  • 想改变提交顺序
  • 想删除不必要的提交
  • 想将提交历史重组为有意义的单位

执行方法:

git rebase -i origin/main

在编辑器中执行以下操作:

  • pick:保持提交不变
  • squashs:合并到前一个提交
  • rewordr:更改提交信息
  • 通过改变行顺序来改变提交顺序

步骤3:git提交信息指南

git提交信息按以下格式描述:

<type>: <subject>

<body>

<footer>

Type:

  • feat:新功能
  • fix:错误修复
  • refactor:重构
  • test:测试添加/修正
  • docs:文档变更
  • chore:构建过程或工具变更

Subject:

  • 50字符以内
  • 用命令形描述(例如:用“Add”而非“add”)
  • 末尾不加句号

Body(可选):

  • 说明变更理由和背景
  • 描述为什么变更,而非变更了什么
  • 每72字符换行

Footer(可选):

  • 引用Issue编号(例如:Closes #123
  • 描述破坏性变更

步骤4:git提交后确认

git提交后,确认以下内容:

git log -1 --stat
git status
  • git提交是否正确创建
  • 是否包含所有预期文件
  • 提交信息是否恰当

重要注意事项

  1. 不要在main分支执行:请勿直接在main分支提交
  2. 不留注释:请删除代码中的说明注释
  3. 原子提交:每个提交应独立且有意义
  4. 一致性:遵循项目现有的提交风格

策略选择流程图

分支有提交吗?
  ├─ 无 → 新建git提交
  └─ 有 → 变更与现有提交主题相同吗?
      ├─ 是 → Squash(git commit --amend)
      └─ 否 → 有理由分开提交吗?
          ├─ 有 → 新建git提交
          └─ 想整理历史 → 交互式变基