Files

17 lines
2.8 KiB
Markdown
Raw Permalink Normal View History

# MEMORY 下沉档 · 仓库 / 推送 / 授权
> **归属**:`.workbuddy/memory/MEMORY.md` 的下沉档(**只在推仓 / 改授权 / 同步技能时读**)。
> **来源**:2026-09-22 由 `MEMORY.md` §四 **原样**下沉 —— 该文件超注入上限(≈7,800 字符),
> 把「一、状态速查 / 二、本机铁律 / 三、成本与自动化」让给注入窗口;本档内容一字未改。
> **判据**:这些条目多数在 `CODEBUDDY.md §2/§3/§4`(每轮注入)与相关技能里有副本,MEMORY 里属重复项。
---
## 四、仓库 / 推送 / 授权(原文)
- 🔁 **推送即双推**:`D:/github/dsh_shenxian` 的 `origin` push 两条 = 原仓 + `https://cnb.cool/maogeigei/dsh-shenxian`。CNB 不支持 SSH(用户名 `cnb` + 令牌;helper `~/.cnb/git-cred.sh`,🔴 会过期 —— 401 会泛化成「仓库不存在」,⛔ 别改 URL)。⚠️ `set-url --add --push` 会挤掉原 pushurl ⇒ 加完必核 `git remote -v`。
- 📦 文档库已并入代码仓 ⇒ `D:\github\dsh_shenxian\dsh-server-docs\`;镜像 `/opt/dsh/docs` 不变;推送只能从本机,服务器改码走 `git bundle`。
- ⚠️ **行尾(实测)**:代码仓 `core.autocrlf=true` ⇒ 工作副本 CRLF;`.gitattributes` 只对三类标 `-text` = `dsh-server-docs/**`、`LICENSE`、`COMMERCIAL-LICENSE*.md` ⇒ 必须纯 LF;⚠️ `交接单/README.md` 是 CRLF(⛔ 未整理)。⛔ 改 `INDEX.md` 一律字节级单行插入,⛔ 别跑 `git checkout --`。
- ⚠️ 技能三处:本机 `.workbuddy/skills/<n>/` ← 文档库 `skills/<n>/` ← 镜像 `/opt/dsh/docs/skills/`;验收 = 三处 md5 一致 + `README.md`/`INDEX.md` 登记跟改;同步前先抢锁。
- ⚠️ **改文件前先抢全局执行锁**:`handoff-guard.sh --claim-exec "<会话名>"`(锁 = `交接单/.exec-lock`)|抢不到=停手报告,⛔ 不删锁/不接管(**R9 全文 ⇒ `CODEBUDDY §3`**)|⚙️ bash 坏时用 Python 落同一原语(`os.mkdir` + 写 OWNER 三行)|中途要停 ⇒ 先释放再停|`04-调整方案/` 编号必须复跑取号 + `mkdir .lock-<NN>` 原子占号|本线 `交接单_*.md` 不带 04 孪生。
- 🔒 授权类(详 ⇒ 技能 `dsh-opensource-release`):⛔ 不给 AGPL/MIT 附加限制 ⇒ 「双轨」= 两条平行许可各自成文件(`LICENSE` 原样 + `COMMERCIAL-LICENSE.{md,zh-CN.md}`;⛔ 不以 `LICENSE` 开头)。四仓已落;⛔ 不改 `package.json`。推 `dsh_ai1net` 必用 `GIT_SSH_COMMAND="ssh -i ~/.ssh/id_ed25519_ai1net -o IdentitiesOnly=yes"`。|⚠️ **ssh(合并在此)**:一律 `-p 22`(106=`test106`);47 别名 `bt-server` 32022 **已失效** ⇒ 覆盖 `[email protected]`;🔴 **`~/.ssh/id_ed25519_dsh` 不存在**(技能里那条 `scp -i` 已过期)⇒ 推 47 用默认 `id_ed25519`。