Files
nexus/wiki/concepts/Atomic-Commit.md

36 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Atomic Commit"
type: concept
tags: ["git", "code-quality", "delivery-traceability"]
last_updated: 2026-04-25
---
## Definition
Atomic Commit原子提交是一种 Git 提交粒度原则——每次提交仅包含一个逻辑变更单元(一个清晰的改动),易于审查、回滚和溯源,不捆绑多个不相关的变更。
## Characteristics
- **单一职责**:一个 commit = 一个清晰的改动
- **可独立回滚**:回滚一个 commit 不会影响其他功能的正常运行
- **可独立审查**reviewer 能在短时间内理解单个 commit 的意图
- **易于溯源**:通过 commit message 快速定位引入特定行为的 ticket
## Anti-patterns
| 反模式 | 描述 | 风险 |
|--------|------|------|
| Mega commit | 一次性提交大量不相关变更 | review 成本高;回滚连带损伤 |
| WIP commit | 包含 work-in-progress 代码的提交 | 污染历史,难以理解 |
| Fixup commit | 在 review 过程中不断追加修改 | 历史难以重建 |
| Bundled commit | 将多个功能捆在一个 commit 里 | 拆分困难,回滚粒度过粗 |
## Relationship to Branch Strategy
Atomic Commit 与 [[Branch-Strategy]] 共同构成 [[Jira-Git-Traceability]] 的基础:
- Branch 隔离不同任务的工作
- 每个 branch 内的 commit 进一步原子化
## Sources
- [[project-management-jira-workflow-steward]]