chore(gitea): 默认远程 fnvtk/wzdj;同步脚本先主后备;排除 .obsidian;更新同步说明
Made-with: Cursor
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -5,6 +5,7 @@ node_modules
|
||||
.env.*.local
|
||||
.DS_Store
|
||||
.cursor
|
||||
.obsidian
|
||||
.vscode
|
||||
*.tsbuildinfo
|
||||
*.log
|
||||
|
||||
@@ -1,69 +1,65 @@
|
||||
# 玩值电竞 App → Gitea 同步说明
|
||||
|
||||
> **目标地址(你要迁到的位置)**:<http://192.168.1.201:3000/fnvtk/wzdj>(用户 **`fnvtk`** 下的 `wzdj`)
|
||||
> **当前实际可推送地址**:<http://192.168.1.201:3000/yongpxu/wzdj>(已从 GitHub 迁移并保持与本地同步)
|
||||
> **默认(规范)**:所有同步以 Gitea 用户 **`fnvtk`** 名下仓库 **`wzdj`** 为准。
|
||||
> **仓库页**:<http://192.168.1.201:3000/fnvtk/wzdj>
|
||||
> **本地远程名 `gitea`**:`http://fnvtk@192.168.1.201:3000/fnvtk/wzdj.git`
|
||||
|
||||
### 为何暂时还不是 `fnvtk/wzdj`
|
||||
|
||||
1. 内网 Gitea 里用户 **`fnvtk` 当前为「未激活」**(`active: false`),向该用户**转移仓库**时服务端会 **HTTP 500**,无法完成迁到 `fnvtk` 名下。
|
||||
2. **需要站点管理员**:打开 **管理后台 → 用户 → fnvtk → 启用账号**,保存后再操作转移。
|
||||
3. 启用后,在仓库 **yongpxu/wzdj** 页面:**设置 → 转移仓库所有权** → 接收方选 **`fnvtk`**,确认后网页地址即变为 **`/fnvtk/wzdj`**。
|
||||
4. 转移完成后,把本地 `gitea` 远程改为(示例,账号按你实际有写权限的填):
|
||||
`git remote set-url gitea http://192.168.1.201:3000/fnvtk/wzdj.git`
|
||||
并在钥匙串/凭证里配置能推送 **fnvtk/wzdj** 的用户(一般为 **fnvtk** 或管理员添加的协作者)。
|
||||
|
||||
### 推送方式说明(本机已验证)
|
||||
|
||||
- **HTTP**(依赖 macOS 钥匙串里已保存的 `192.168.1.201:3000` 凭证):当前 **`git push gitea main` 正常**。
|
||||
- **SSH**(`git@gitea-wzdj:…`,端口 **2222**):对本仓库曾出现 **Internal Server Error**,若需 SSH 请在 Gitea 服务端查日志后再用;在此之前请继续用 HTTP 远程。
|
||||
|
||||
### 转移完成后(可选)
|
||||
|
||||
- 若曾发起过「待接受」的转移,可用 **`gitea_accept_transfer.sh`**(需 **fnvtk** 有效密码)或直接在网页接受。
|
||||
|
||||
## 一、远程与分支
|
||||
## 一、双远程(默认 fnvtk + 备份)
|
||||
|
||||
| 远程名 | 地址 | 说明 |
|
||||
|:---|:---|:---|
|
||||
| `origin` | https://github.com/fnvtk/wzdj.git | GitHub 主仓 |
|
||||
| `gitea` | `http://yongpxu@192.168.1.201:3000/yongpxu/wzdj.git` | Gitea(内网,当前默认可推送;迁至 fnvtk 后请改 URL) |
|
||||
| **`gitea`** | `http://fnvtk@192.168.1.201:3000/fnvtk/wzdj.git` | **默认**:上传到 **fnvtk** 账号 |
|
||||
| `gitea-yongpxu` | `http://yongpxu@192.168.1.201:3000/yongpxu/wzdj.git` | **仅备份**:当 `gitea` 认证失败时脚本/钩子会自动改推此处 |
|
||||
|
||||
当前默认分支:`main`。
|
||||
|
||||
### 管理员:允许「push 自动新建仓库」(可选)
|
||||
### 若 `git push gitea main` 报认证失败
|
||||
|
||||
若希望**任意用户**首次 `git push` 到不存在的路径即可建库,需 Gitea **站点管理员**在 `app.ini` 中开启(名称以版本为准):
|
||||
1. 在 macOS **钥匙串** 中为 `192.168.1.201:3000` 保存 **用户 `fnvtk`** 的有效密码;或
|
||||
2. 使用 Gitea **访问令牌** 写入 URL(勿把令牌提交进仓库);或
|
||||
3. 请站点管理员确认用户 **`fnvtk` 已激活**,且对 **`fnvtk/wzdj`** 有写权限。
|
||||
|
||||
- `[repository]` 下 **`ENABLE_PUSH_CREATE_USER = true`**
|
||||
完成前,本仓库的 **`post-commit`** 与 **`sync_to_gitea.sh`** 会先尝试 **`gitea`**,失败则自动推 **`gitea-yongpxu`**,避免断同步。
|
||||
|
||||
未开启时,可用 **`gitea_api_create_user_repo.sh`**(默认在 **fnvtk** 名下建库)先建空库再推送。
|
||||
### 从 yongpxu 迁到 fnvtk(管理员一次性操作)
|
||||
|
||||
若历史上仓库在 **`yongpxu/wzdj`**:在 Gitea 网页 **设置 → 转移仓库所有权** → 接收方 **`fnvtk`**。转移后仍以本表 **`gitea`** 地址为准;备份远程可按需删除。
|
||||
|
||||
## 二、自动同步(推荐)
|
||||
|
||||
- **每次 commit 后**:已配置 `post-commit` 钩子,自动执行 `git push gitea main`,把最新提交推到 Gitea。
|
||||
- 若推送失败(如网络/SSL),可稍后手动执行下面「手动同步」。
|
||||
- **每次 commit 后**:`.git/hooks/post-commit` 会先 `git push gitea`,失败再 `git push gitea-yongpxu`。
|
||||
- 若推送失败(如网络),可稍后手动执行「三、手动同步」。
|
||||
|
||||
## 三、手动同步
|
||||
|
||||
在项目根目录执行:
|
||||
|
||||
```bash
|
||||
# 方式一:只推送(已有提交)
|
||||
git push gitea main
|
||||
|
||||
# 方式二:先提交再推送(有未提交变更时)
|
||||
# 推荐:脚本内已含「先 fnvtk、失败再 yongpxu」
|
||||
bash "玩值开发文档/8、部署/sync_to_gitea.sh"
|
||||
|
||||
# 或只推送(需已有提交)
|
||||
git push gitea main || git push gitea-yongpxu main
|
||||
```
|
||||
|
||||
## 四、SSL/TLS 问题说明
|
||||
|
||||
若本机出现 `error:1404B42E:SSL routines:ST_CONNECT:tlsv1 alert protocol version`:
|
||||
|
||||
- 在**能访问 Gitea 的网络环境**下再执行 `git push gitea main`(如公司网络、或配置好代理的终端)。
|
||||
- 或使用已配置 OpenSSL 的 Git(如 `brew install git` 后用 `/usr/local/bin/git`)再试。
|
||||
- 在**能访问 Gitea 的网络环境**下再执行推送。
|
||||
- 或使用已配置 OpenSSL 的 Git(如 `brew install git`)再试。
|
||||
|
||||
## 五、检查是否已同步
|
||||
|
||||
- 迁移完成前可看:<http://192.168.1.201:3000/yongpxu/wzdj>
|
||||
- 迁移完成后可看:<http://192.168.1.201:3000/fnvtk/wzdj>
|
||||
- **主仓(默认)**:<http://192.168.1.201:3000/fnvtk/wzdj>
|
||||
- 备份:<http://192.168.1.201:3000/yongpxu/wzdj>
|
||||
- 提交时间应与本地 `git log -1` 一致。
|
||||
|
||||
## 六、允许「push 自动新建仓库」(可选)
|
||||
|
||||
若希望首次 `git push` 到不存在的路径即可建库,需 Gitea **站点管理员**在 `app.ini` 中开启(名称以版本为准):
|
||||
|
||||
- `[repository]` 下 **`ENABLE_PUSH_CREATE_USER = true`**
|
||||
|
||||
未开启时,可先在 **fnvtk** 名下建空库再推送。
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
set -e
|
||||
REPO_ROOT="$(cd "$(dirname "$0")/../.." && pwd)"
|
||||
cd "$REPO_ROOT"
|
||||
REMOTE="gitea"
|
||||
# 默认推 Gitea 用户 fnvtk 名下 wzdj(remote 名 gitea);失败则推 gitea-yongpxu(yongpxu/wzdj 备份)
|
||||
BRANCH="$(git branch --show-current)"
|
||||
|
||||
# 可选:代理(若直连 Gitea 失败)
|
||||
@@ -19,5 +19,10 @@ else
|
||||
git commit -m "$COMMIT_MSG"
|
||||
echo "[sync_to_gitea] 已提交:$COMMIT_MSG"
|
||||
fi
|
||||
git push "$REMOTE" "$BRANCH"
|
||||
echo "[sync_to_gitea] 已推送到 gitea/$BRANCH → 当前 http://192.168.1.201:3000/yongpxu/wzdj (目标迁至 http://192.168.1.201:3000/fnvtk/wzdj )"
|
||||
if git push gitea "$BRANCH"; then
|
||||
echo "[sync_to_gitea] 已推送到 fnvtk → http://192.168.1.201:3000/fnvtk/wzdj"
|
||||
else
|
||||
echo "[sync_to_gitea] fnvtk 推送失败,改推 gitea-yongpxu(备份)…"
|
||||
git push gitea-yongpxu "$BRANCH"
|
||||
echo "[sync_to_gitea] 已推送到 yongpxu 备份 → http://192.168.1.201:3000/yongpxu/wzdj(请尽快配置 fnvtk 凭证后改推 gitea)"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user