novel-system/docs/direct-push.md
冰朔 49b5ea2d82 D169 · 初始建库 · 冰朔小说创作系统全量迁移
- 四本书正文/细纲/进度卡/档案全量迁入
- 技能包5件套 + 自检经验库(D168+/D169)
- 每日流程8步 + 文风参考 + 素材地图
- 服务器清单(servers.md) + 直推指南(direct-push.md)
- README.md 仓库说明
2026-07-09 15:17:13 +08:00

2.8 KiB

本地终端直推代码仓库 · 技能包

铸渊开发 · D169 · 2026-07-09 用途: 本地 Mac 直接 push 到广州服务器 Forgejo, 不走新加坡中转

为什么需要直推

旧方案: 本地 → 新加坡大脑服务器 → 广州 Forgejo (太慢, 绕路) 新方案: 本地 → 广州 Forgejo (直连, 快)

前置条件

  1. 广州服务器 Forgejo 已运行 (端口 3002, Nginx 反代到 guanghulab.com/code)
  2. 本地有 SSH key (~/.ssh/id_ed25519)
  3. Forgejo 账号已创建 (bingshuo)

配置步骤

1. 添加 SSH key 到 Forgejo

# 在本地 Mac 上
cat ~/.ssh/id_ed25519.pub
# 复制输出, 粘贴到 Forgejo: Settings → SSH Keys → Add Key

2. 配置 Git remote

cd ~/path/to/novel-repo
git remote add origin ssh://git@guanghulab.com:22/bingshuo/novel-system.git
# 或者用 HTTPS (如果 SSH 不通)
git remote add origin https://guanghulab.com/bingshuo/novel-system.git

3. 首次推送

git push -u origin main

4. 日常推送

git add .
git commit -m "铸渊 · D{编号} · {改动说明}"
git push

之之那边配置

之之的人格体 clone 仓库后, 同样的步骤:

# 1. Clone
git clone ssh://git@guanghulab.com:22/bingshuo/novel-system.git
cd novel-system

# 2. 添加之之的 SSH key 到 Forgejo (同上)

# 3. 推送反馈/修改
git add .
git commit -m "之之 · 审核意见 · {说明}"
git push

协作流程

铸渊 Mac (写稿)
  ↓ git push
广州 Forgejo
  ↓ git pull
之之 Mac (审核+整理)
  ↓ git push (反馈意见)
广州 Forgejo
  ↓ git pull
铸渊 Mac (看到反馈)

Tolaria 同步

两边 Tolaria 都 clone 同一个 repo:

# 铸渊 Tolaria
cd ~/Desktop/Tolaria笔记库/冰朔小说创作系统
git init
git remote add origin ssh://git@guanghulab.com:22/bingshuo/novel-system.git
git pull origin main

# 之之 Tolaria (同样操作)

之后每次写完/审完, 在 Tolaria 文件夹里:

git add .
git commit -m "{说明}"
git push

故障排查

SSH 连接失败

# 测试连接
ssh -T git@guanghulab.com
# 如果失败, 检查:
# 1. SSH key 是否添加到 Forgejo
# 2. 广州服务器 22 端口是否开放 (腾讯云安全组)
# 3. ~/.ssh/config 是否有配置

HTTPS 备选

如果 SSH 不通, 用 HTTPS:

git remote set-url origin https://guanghulab.com/bingshuo/novel-system.git
# 推送时需要输入账号密码

Forgejo 未运行

# 登录广州服务器 (腾讯云控制台 → 在线终端)
sudo systemctl status forgejo
sudo systemctl start forgejo
sudo systemctl status nginx

注意事项

  • 不要 push 大文件 (>50MB), Forgejo 会拒绝
  • commit message 用中文, 格式: {人格体} · D{编号} · {说明}
  • 每次 push 前确保 Tolaria 里的文件已保存
  • 之之push 的反馈, 铸渊这边 pull 后能看到