返回板块

S11 git仓库与命名门禁SOP

V1.0.02026-09-19行政法规 · SOP
源文件:C:/Users/xub/.workbuddy/spec/3.行政法规/SOP/S11_git仓库与命名门禁SOP.md

类别:SOP(用户级全域规范)
名称释义:git 仓库初始化 + 命名规范提交前门禁(pre-commit hook)
权威源:C:\Users\xub\.workbuddy\MEMORY.md §十二 12.9
固化位置:~/.workbuddy/MEMORY.md(所有 Agent 一律生效)


git 仓库与命名门禁 SOP(2026-08-25 确立 · 全域规范)

固化与范围:本 SOP 把「git 仓库 + 命名门禁钩子」固化为全域硬约束。凡在任意工作空间 / 项目建立 git 仓库,或对已有仓库启用提交管控,必须安装命名门禁(pre-commit hook),使命名规范在提交前自动拦截,不再依赖人工自觉。执行载体 = ~/.workbuddy/_tools/install_naming_hook.sh(安装器)+ hooks/pre-commit(模板)+ naming_audit.py(审计器)。

一、触发场景(任一即执行,不询问)

  • 新项目 / 新工作空间首次 git init。
  • 已有 git 仓库尚未装命名门禁。
  • 命名规范版本更新后,需批量刷新各仓库门禁。

二、门禁能力与边界

项 说明
校验对象 仅本次暂存文件(git diff --cached --diff-filter=ACMR),不扫整树,避免阻塞历史存量
校验基准 _tools/naming_audit.py 的 PATTERNS(时间戳·连接符·版本号违禁形式,单一真相源)
合规 静默放行,exit 0
违规 拦截提交 exit 1,提示整改命令(naming_remediate.py)
工具缺失 无 python / 找不到 audit → 降级放行,不卡死提交
紧急跳过 git commit --no-verify

三、标准流程(三步)

# 1) 初始化仓库(若尚未是 git 仓库)
cd "F:/某工作空间" && git init

# 2) 安装命名门禁(installer 会替换 __NAMING_AUDIT_PATH__ / __MANAGED_PYTHON__ 占位符)
bash "C:/Users/xub/.workbuddy/_tools/install_naming_hook.sh" .

# 3) 三段验证
git commit --allow-empty -m "chore: gate test"          # 空提交 → 应放行(exit 0)
echo x > _t_v20260815.txt && git add _t_v20260815.txt && git commit -m t   # 违规 → 应拦截(exit 1)
rm -f _t_v20260815.txt && git reset HEAD -- .            # 清理验证残留

四、批量安装(全域刷新)

# 扫描 ROOT 下所有 .git 仓库并逐个安装门禁,输出汇总(--all 模式)
bash "C:/Users/xub/.workbuddy/_tools/install_naming_hook.sh" --all "F:/400.WorkBuddy_origin"

五、关键实现约束(防回归,勿改)

  1. Python 选择:hook 内优先用受管 Python ~/.workbuddy/binaries/python/envs/default/Scripts/python.exe(__MANAGED_PYTHON__ 占位符由安装器替换),缺失时降级系统 python。
  2. MSYS 路径陷阱:/c/...、/f/... 传给 Windows 版 Python 会被误判为相对路径而打不开。安装器与 hook 内一律用 pwd -W 取 Windows 原生路径(C:/...、F:/...)再传给 naming_audit.py。
  3. 单一真相源:naming_audit.py 为唯一审计器;hook 仅引用其绝对路径,不在各仓库留副本,杜绝漂移。
  4. 仓库身份:git 身份(user.name/user.email)应仓库级配置,避免污染用户全局配置。

六、禁止事项

  • 不递归 git init 用户个人目录、系统目录。
  • 不得对 ~/.workbuddy/(含 db/token/凭证)建 git 仓库或提交。
  • 不跳过门禁(--no-verify)除非用户明确要求紧急提交。
利衡辨 · 全域资料站 | 全域七链元路由 · 一进一出
宪法 > 基本法 > 行政法规 > 地方法规 > 地方规章