commit-style
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseCommit Style
提交信息风格
Mensagens de commit seguem Conventional Commits. O foco é o porquê da mudança, não o o quê (o diff já mostra o quê).
提交信息遵循Conventional Commits规范。重点是变更的原因,而非内容(diff已经展示了内容)。
Quando usar
使用场景
- Usuário pede "commit", "git commit", "commita isso".
- Após uma sequência de mudanças prontas para serem registradas.
- Quando o histórico precisa de uma entrada nova e descritiva.
- 用户请求“commit”、“git commit”、“提交这个”时。
- 完成一系列变更,准备记录到历史记录后。
- 当需要为历史记录添加新的、描述性的条目时。
Como aplicar
应用方法
-
Identifique o tipo com base na natureza da mudança:
- — funcionalidade nova
feat - — correção de bug
fix - — mudança de código sem alterar comportamento
refactor - — só documentação
docs - — só testes
test - — manutenção, deps, configs sem impacto em runtime
chore - — melhoria de performance
perf - — formatação (não confundir com mudanças visuais de UI)
style
-
Escolha o escopo (opcional, mas recomendado). É a área afetada:,
feat(auth):,fix(api):. Use o nome da pasta/módulo principal modificado.refactor(cli): -
Escreva o subject (primeira linha):
- Em inglês ou português, mas mantenha consistência no repo.
- Imperativo: "add", "fix", "remove" — não "added", "fixed".
- Sem ponto final.
- Máximo 72 caracteres.
-
Body (opcional, mas use quando o porquê não é óbvio):
- Linha em branco após o subject.
- Foco no porquê, não no o quê.
- Quebre em 72 caracteres.
-
Footer (opcional):
- para mudanças quebrando compatibilidade.
BREAKING CHANGE: <descrição> - ou
Closes #123para issues relacionadas.Refs #123
-
根据变更性质确定类型:
- — 新增功能
feat - — 修复bug
fix - — 代码重构,不改变功能
refactor - — 仅修改文档
docs - — 仅修改测试
test - — 维护工作、依赖更新、配置变更,不影响运行时
chore - — 性能优化
perf - — 代码格式调整(不要与UI视觉变更混淆)
style
-
选择作用域(可选,但推荐)。即受影响的区域:、
feat(auth):、fix(api):。使用被修改的主文件夹/模块名称。refactor(cli): -
编写主题(第一行):
- 可以用英文或葡萄牙语,但仓库内要保持一致。
- 使用祈使语气:“add”、“fix”、“remove” — 不要用“added”、“fixed”。
- 末尾不要加句号。
- 最多72个字符。
-
正文(可选,但当变更原因不明显时使用):
- 主题后空一行。
- 重点放在原因,而非内容。
- 每行不超过72个字符。
-
页脚(可选):
- 对于破坏性变更,使用。
BREAKING CHANGE: <描述> - 使用或
Closes #123关联相关议题。Refs #123
- 对于破坏性变更,使用
Exemplos
示例
Bom:
feat(auth): add token refresh flow
Sessions were expiring mid-task and forcing users to restart.
The refresh runs silently 30s before expiry.
Closes #142Bom (curto):
fix(cli): handle empty skills/ directory without crashingRuim:
update filesRuim (foco no o quê, não no porquê):
fix: change line 42 of auth.ts to use Date.now()良好示例:
feat(auth): add token refresh flow
Sessions were expiring mid-task and forcing users to restart.
The refresh runs silently 30s before expiry.
Closes #142简短的良好示例:
fix(cli): handle empty skills/ directory without crashing不良示例:
update files不良示例(重点在内容而非原因):
fix: change line 42 of auth.ts to use Date.now()Anti-padrões
反模式
- Mensagens genéricas: "update", "fix stuff", "wip".
- Misturar múltiplos tipos no mesmo commit. Se você adicionou feature E corrigiu bug, são 2 commits.
- Subject em passado: "added", "fixed". Use imperativo.
- Body explicando o diff linha-a-linha — o diff já está lá.
- Usar para coisas que não são features (renomear arquivo =
feat, nãorefactor).feat
- 通用化消息:“update”、“fix stuff”、“wip”。
- 同一提交混合多种类型。如果既新增功能又修复bug,应拆分为2个提交。
- 主题使用过去式:“added”、“fixed”。请使用祈使语气。
- 正文逐行解释diff内容——diff本身已经存在。
- 将非功能类变更标记为(重命名文件属于
feat,而非refactor)。feat