pre-commit 使用说明

本项目已配置 pre-commit 钩子,用于在提交代码时自动进行代码规范检查和格式化。

安装与初始化

pip install pre-commit
pre-commit install --hook-type commit-msg
pre-commit install

手动运行检查

pre-commit run --all-files
pre-commit run --hook-stage commit-msg --commit-msg-filename .git/COMMIT_EDITMSG

配置详情

本项目使用以下两组钩子:

openUBMC pre-commit-hooks

  • conventional-commit: 检查提交消息是否符合 Conventional Commits 规范
  • add-signoff-and-change-id: 自动添加 Sign-off-by 和 Change-Id
  • check-sr: 检查 .sr 文件
  • check-json: 检查 JSON 文件
  • check-yaml: 检查 YAML 文件
  • prettier: TypeScript / Vue / CSS / JSON 等文件自动格式化

pre-commit-hooks (mirrored)

  • trailing-whitespace: 修复行尾多余空白(排除 .vscode/)
  • end-of-file-fixer: 修复文件末尾缺少换行(排除 .vscode/)
  • check-merge-conflict: 检查合并冲突标记
  • check-added-large-files: 防止提交大文件(限制 1024KB)
  • check-case-conflict: 检查文件名大小写冲突
  • detect-private-key: 检测私钥泄露

许可证

Mulan PSL v2 许可证,详见 LICENSE 文件