docs: 同步策略迁移至 Gitea(origin), Gitee 停用并加钩子拦截

This commit is contained in:
zijunchiang
2026-09-11 22:57:42 +08:00
parent 57341280e4
commit 21eca10ee2
+21 -19
View File
@@ -2,33 +2,35 @@
> 本文件供后续开发(含 AI 助手会话)遵循,优先级高于默认习惯。
## 一、代码同步策略(重要,2026-09-11 起生效
## 一、代码同步策略(2026-09-11 更新
**自动推送 Gitee:已禁用。**
**代码主仓库已迁移至 Giteahttps://gitea.kasugano.cn/zijunchiang/maidong-ktv**
- ✅ 允许:本地 `git add` / `git commit`(保留本地提交历史,便于回滚与对比)
- ❌ 禁止:**自动执行 `git push`**(包括"完成改动后顺手推送"这类默认动作)
- ⏸ 仅在用户**明确指示**(例如"推送到 Gitee"/"同步代码")时,才执行推送
| 远端 | 地址 | 状态 |
|---|---|---|
| `origin` | `https://gitea.kasugano.cn/zijunchiang/maidong-ktv.git` | ✅ 主仓库,**同步目标** |
| `gitee` | `https://gitee.com/zijunchiang/maidong-ktv.git` | ⛔ 已停用(推送被钩子拦截) |
### 手动启用/推送方式
- ✅ 预期动作:完成改动 → 本地 `git commit``git push origin master`(同步到 Gitea
- ⛔ 禁止:推送到 Gitee`pre-push` 钩子会拦截,避免误推送)
- 凭据:Gitea 访问令牌 `dsh-sync`(可在 Gitea「设置 → 应用 → 访问令牌」随时吊销),
存放于 `~/.git-credentials-gitea`(权限 600),由本仓库级 `credential.helper` 引用;
账号密码不写入仓库配置。
已安装 `pre-push` 钩子做拦截(防止误推送)。启用推送二选一:
### 推送方式
```bash
# 方式 1:创建启用标记(推荐,推送后建议删除标记恢复拦截)
touch .git/ALLOW_GITEE_PUSH
git push origin master
rm -f .git/ALLOW_GITEE_PUSH
# 方式 2:临时绕过钩子
git push --no-verify origin master
cd /home/zijun/dsh/maidongktv/maidong-ktv
git push origin master # origin = Gitea(主仓库)
git push --no-verify gitee master # 仅在确需回推 Gitee 时使用
```
### 远端信息
### 待迁移(尚未完成,需单独确认后再改)
- 仓库:https://gitee.com/zijunchiang/maidong-ktv (公开)
- 分支:`master`
- 发布:Gitee Releasetag 形如 `v1.2.5`,需附 `.apk` 附件,供 App 内检查更新)
App 内部仍指向 **Gitee** 的两个运行时端点,迁移到 Gitea 需改代码并重新发版:
- `AppUpdateManager.kt``gitee.com/api/v5/repos/.../releases/latest`App 内检查更新)
- `KtvJsBridge.kt``gitee.com/zijunchiang/maidong-ktv/raw/master/.../ktv_api.js`JS 热更新)
## 二、构建与产物
@@ -68,4 +70,4 @@ $BT/apksigner verify 目标名.apk
- **JS 热更新**:改动 `ktv_api.js` 必须同步提升 `KTV_BRIDGE_API: N` 标记(JS 与 `KtvJsBridge.kt` 两处校验),否则设备仍用缓存旧脚本
- **曲库**:只走官方 Muse 同步(`MuseDbSync`),不再依赖 Gitee 数据库文件
- **麦克风**`MicActivator` 常驻占用输入通道(TV/投影需占用后才有演唱声音输出),外接设备热插拔会自动重建
- **发布**Gitee 仓库必须保持 **public**,否则 App 内检查更新/下载会 403
- **仓库可见性**Gitea 仓库保持 **public**(若后续把 App 更新/热更新端点迁到 Gitea,非 public 会导致 403