docs: 记录 Gitea 远端接入方式

- STATUS.md:Gitea 接入标记完成,补充远端/分支/推送通道信息;
  新增决策 19(SSH 走 Tailscale 内网)与 20(首次推送 force-with-lease 的取舍)
- docs/05-git-workflow.md:第三节改写为实际拓扑(公网 22 被过滤、
  走 Tailscale + ~/.ssh/config 域名别名),补自检、日常推送、换机步骤,
  并保留仓库归属注意、补充可见性与协作者说明;
  回滚一节记录被覆盖提交的恢复命令
This commit is contained in:
guzhujushi committed 2026-10-01 17:56:12 +08:00
1 parent 96080b9dcc
commit bcdbdd35a3
2 files changed
+72 -32

No files matched your search

+12 -6
View File
@@ -4,9 +4,9 @@
## 本次任务
审查并精简 ChatGPT 的建库建议 → 生成骨架文件 → 配置 conda 与 venv 环境 → 初始化 git 仓库。
审查并精简 ChatGPT 的建库建议 → 生成骨架文件 → 配置 conda 与 venv 环境 → 初始化 git 仓库 → 接入 Gitea 远端。
**结论:全部完成。** 两套环境均已建成并通过验证;本地仓库已初始化并完成首次提交。
**结论:全部完成。** 两套环境均已建成并通过验证;仓库已推送到 `code.guzhujushi.cn`。
## 任务清单
@@ -53,6 +53,10 @@
`5319589`(76 文件 / 6812 行),工作区干净
- [x] `git ls-files --eol` 复核:**全部 LF**,`.gitattributes` 生效
- [x] 仓库由**本人账户 guzhu** 创建(见决策 17)
- [x] **远端 Gitea 已接通并推送**:`origin` = `git@code.guzhujushi.cn:guzhujushi/MCM-ICM_Toolkit.git`,
`main` 跟踪 `origin/main`,远端 HEAD = `96080b9`,76 个文件已在服务器上(见决策 19/20)
- [x] 推送通道:公网 22 被防火墙过滤 → 改用 Tailscale(`100.115.86.48:22`),
`~/.ssh/config` 加了一条域名别名,remote 里仍写域名
### 验证结果
@@ -73,8 +77,8 @@
- [x] ~~两套环境版本不一致~~ → **已解决**:base 升级到 2026.07 后,
numpy/scipy/pandas/matplotlib/sklearn/statsmodels/networkx/sympy 版本完全一致,
只差 Python 补丁号(3.13.9 vs 3.13.15)。详见 `docs/04-environment.md` §5。
- [ ] **Gitea 远程尚未配置**:本地仓库已就绪(`main` / `5319589`),
只差你自己的 Gitea 地址。命令见 `docs/05-git-workflow.md` §3。
- [x] ~~Gitea 远程尚未配置~~ → **已配置并推送完成**,见上面 D 节与决策 19/20。
note:仓库当前是 **Public**(匿名 `git ls-remote` 可读),要改私有去 Gitea 仓库设置。
- [ ] 所有函数实现尚未开始(按 L0 → L1 顺序,见 `docs/03-roadmap.md`)
- [ ] 本机 `exec_command` 在沙箱模式下**完全不可用**
(`helper_unknown_error: setup refresh had errors`),只有提权
@@ -108,11 +112,13 @@
| 16 | 新增 `.gitattributes` 强制 LF | 仓库要给队友在 Windows/WSL/Linux 上 clone,不固定行尾会产生"整文件都变了"的假 diff |
| 17 | `.git` 由**本人账户 guzhu** 重建,不做 `safe.directory` 豁免 | 沙箱通道建的 `.git` Owner 是 `CodexSandboxOffline`,git 会报 dubious ownership。加全局豁免是把问题藏起来;直接以本人账户重建,仓库和远程(Gitea)身份一致 |
| 18 | `core.autocrlf=false`(仓库级) | 配合 `.gitattributes` 的 LF 策略,避免 Windows 上 checkout 又转成 CRLF |
| 19 | Gitea 的 SSH **走 Tailscale 内网**,不在公网开 22 | 实测公网 `8.145.36.108:22` 超时(服务器侧过滤,本机出站 22 没被封:github.com:22 可通),而 Tailscale `100.115.86.48:22` 可达且 `git@` 认证直接过 Gitea。remote 里仍写域名,域名→内网 IP 的映射放在 `~/.ssh/config`,换机只改一处 |
| 20 | 首次推送用 `--force-with-lease` **覆盖** Gitea 的 `Initial commit` | 远端那个提交是建仓时自动初始化产生的,与本地无共同祖先,普通 push 必被拒。推送前已把其中的 LICENSE 与手写简介并入本地 `README.md`,原提交仍留在本机对象库(`1c683cf`) |
## 下一步
1. 在 Gitea 建**空**仓库(不要初始化)→ `git remote add origin ...` → `git push -u origin main`
(命令见 `docs/05-git-workflow.md` §3,HTTPS 与 SSH 两版都有)。
1. ~~接入 Gitea~~ **已完成**。以后推送前先确认 Tailscale 在线,然后 `git push`
(细节与换机步骤见 `docs/05-git-workflow.md` §3)。
2. 按 `docs/03-roadmap.md` 的 **L0(12 个函数)** 顺序填实现,先写测试再写代码。
3. 每写完一个函数,在 `examples/` 里加一行最小用法,并更新本文件。
4. L0 跑通后,找一道真题(建议 2025 C)走完整流程,反向沉淀函数。