dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Git 提交前检查:密钥 / 大文件 / 冲突标记 / 调试残留 / commit 信息规范,可挂 pre-commit
Git 提交前检查:把「密钥进仓库」「5MB 大文件」「冲突标记」「调试残留」「被跟踪的 .env」「不规范的 commit message」拦在 commit 之前。
关键词:Git 提交前检查 · pre-commit hook · 密钥扫描 · 大文件 · 冲突标记 · 调试残留 · commit message 规范 · git hook · CI 卡口 Keywords: git pre-commit hook · secret scan · commitlint · large file · merge conflict marker · debugger residue
密钥写进源码、.env 被 git add . 顺手带上、5MB 视频进了仓库、<<<<<<< HEAD 忘了删、console.log 和 debugger 留在生产代码里 —— 这些问题的共同点是:提交那一刻没人拦,事后清理成本极高(密钥要作废轮换、大文件要重写历史、冲突标记直接把线上搞崩)。这个插件就是提交前最后一道闸。
scan:扫工作区 / 暂存区,报告六类问题:
api_key=...)-----BEGIN ... PRIVATE KEY-----)--max-size 调整)<<<<<<< / ======= / >>>>>>>)debugger、console.log / console.debug,按警告处理).env(.env.example / .env.sample 等不算)msg:校验 commit message 是否符合 type(scope): subject 约定(type 白名单、标题 ≤72 字、标题与正文之间空一行、subject 不以句号结尾等;Merge / Revert / fixup! 自动豁免)。precommit:组合 staged 扫描 + message 校验,有问题退出 1,可直接挂 git hook;precommit install 一键写入 .git/hooks/pre-commit(原 hook 自动备份为 .bak)。--json 给 CI;--out 额外写一份 Markdown 报告。--demo:自造一个临时 Git 仓库(密钥均为伪造值),把六类问题 + message 校验整套跑一遍,打印产物路径。git filter-repo 等工具处理历史。.git/hooks/pre-commit(会备份原文件),不接管 husky / lefthook 等工具;团队流水线请按自己的编排接入。--strict 可把警告也当错误);也不分辨日志是否在测试文件里。git init 的仓库(hook 写入 .git/hooks/);在非 git 目录装插件不会自动生效,先 git init 或按 precommit install 提示操作。dsh plugin --profile web add @deepwhale-cn/dsh-git-guard
# 或纯 CLI
npx @deepwhale-cn/dsh-git-guard --help
dsh-git-guard scan # 扫当前仓库(工作区 + 暂存区)
dsh-git-guard scan staged --input <目录> # 只看暂存区
dsh-git-guard scan --json # 给 CI
dsh-git-guard msg --message "feat(api): 支持批量导出"
dsh-git-guard precommit --input <目录> # 退出码 1 = 拦下提交
dsh-git-guard precommit install --input <目录>
dsh-git-guard --demo
挂进 git hook 后,每次 git commit 前自动跑 precommit;退出码 1 会阻止提交。
确实需要跳过时用 git commit --no-verify(不建议)。
MIT © 温州深鲸智能科技有限公司