0%

git的提交规范

1. 规范

1.1 基本的 commit 信息格式

一个常见的提交信息格式通常包括以下几个部分:

  • 类型(type): 描述提交的类别,比如是新功能、修复、文档等。
  • 范围(scope): 可选,描述提交影响的范围,比如是某个模块、功能等。
  • 主题(subject): 简短的描述提交的目的。
  • 正文(body): 可选,详细描述提交的内容、动机等。
  • 页脚(footer): 可选,通常用于关闭某个 issue 或者添加破坏性变更的说明。

1.2 常见的类型(type)

  • feat: 新功能(feature)

  • fix: 修补 bug

  • docs: 文档(documentation)

  • style: 格式(不影响代码运行的变动)

  • refactor: 重构(即不是新增功能,也不是修改 bug 的代码变动)

  • perf: 性能优化

  • test: 增加测试

  • chore: 构建过程或辅助工具的变动

1.3 示例

1
2
3
4
git commit -m "feat(auth): add login functionality"
git commit -m "fix(cart): handle case when cart is empty"
git commit -m "docs(readme): update installation instructions"
git commit -m "refactor(user): simplify user model"

2. 规范工具

2.1 交互性

1
2
3
4
5
6
npm install -g cz-git commitizen
echo '{ "path": "cz-git", "$schema": "https://cdn.jsdelivr.net/gh/Zhengqbbb/cz-git@1.9.4/docs/public/schema/cz-git.json" }' > ~/.czrc


# 推荐直接用下面这个
npm i -g czg

2.2 aicommit

原理是 git diff 结果,交给open ai,感觉太费钱。

1
2
3
4
5
6
7
npm install -g aicommits
aicommits config set OPENAI_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


npm root -g
vi /opt/homebrew/lib/node_modules/aicommits/dist/cli.mjs
find api.openai.com and replace it with your URL. There is only one occurrence of this text.
可以加首页作者微信,咨询相关问题!