---
id: ssh2-commit-work
name: "commit-work"
url: https://skills.yangsir.net/skill/ssh2-commit-work
author: softaworks
domain: ai-project-management-collaboration
tags: ["git-version-control", "commit-messages", "git-workflow", "code-management", "devops-practices"]
install_count: 3700
rating: 4.40 (136 reviews)
github: https://github.com/softaworks/agent-toolkit
---

# commit-work

> 创建高质量的Git提交，包括审查和暂存预期更改，确保提交信息清晰准确。

**Stats**: 3,700 installs · 4.4/5 (136 reviews)

## Before / After 对比

### 高质量Git提交工作流优化，提升代码库可维护性与团队协作效率。

## Readme

# Commit work

## Goal
Make commits that are easy to review and safe to ship:
- only intended changes are included
- commits are logically scoped (split when needed)
- commit messages describe what changed and why

## Inputs to ask for (if missing)
- Single commit or multiple commits? (If unsure: default to multiple small commits when there are unrelated changes.)
- Commit style: Conventional Commits are required.
- Any rules: max subject length, required scopes.

## Workflow (checklist)
1) Inspect the working tree before staging
   - `git status`
   - `git diff` (unstaged)
   - If many changes: `git diff --stat`
2) Decide commit boundaries (split if needed)
   - Split by: feature vs refactor, backend vs frontend, formatting vs logic, tests vs prod code, dependency bumps vs behavior changes.
   - If changes are mixed in one file, plan to use patch staging.
3) Stage only what belongs in the next commit
   - Prefer patch staging for mixed changes: `git add -p`
   - To unstage a hunk/file: `git restore --staged -p` or `git restore --staged <path>`
4) Review what will actually be committed
   - `git diff --cached`
   - Sanity checks:
     - no secrets or tokens
     - no accidental debug logging
     - no unrelated formatting churn
5) Describe the staged change in 1-2 sentences (before writing the message)
   - "What changed?" + "Why?"
   - If you cannot describe it cleanly, the commit is probably too big or mixed; go back to step 2.
6) Write the commit message
   - Use Conventional Commits (required):
     - `type(scope): short summary`
     - blank line
     - body (what/why, not implementation diary)
     - footer (BREAKING CHANGE) if needed
   - Prefer an editor for multi-line messages: `git commit -v`
   - Use `references/commit-message-template.md` if helpful.
7) Run the smallest relevant verification
   - Run the repo's fastest meaningful check (unit tests, lint, or build) before moving on.
8) Repeat for the next commit until the working tree is clean

## Deliverable
Provide:
- the final commit message(s)
- a short summary per commit (what/why)
- the commands used to stage/review (at minimum: `git diff --cached`, plus any tests run)


---
*Source: https://skills.yangsir.net/skill/ssh2-commit-work*
*Markdown mirror: https://skills.yangsir.net/api/skill/ssh2-commit-work/markdown*