3.3 KiB
3.3 KiB
Gitea 命令行建仓与推送流程(已验证)
全命令行完成,无需在网页新建仓库。最后验证:2026-03-07
一、前置条件
| 项 | 值 |
|---|---|
| Gitea 地址 | http://open.quwanzhi.com:3000 |
| 账号 | fnvtk |
| 密码(API/网页) | zhiqun1984(小写;群晖 NAS SKILL 中说明) |
| 建仓 Token | 需含 write:user;示例:07f82fbd81a64fb714d9a6c47b11cc5b98f2fa2e |
| 推送 | 建议用 Token 内嵌 URL,避免密码大小写问题 |
二、步骤 1:API 创建仓库
# 通过 API 创建(不依赖网页)
curl -u "fnvtk:zhiqun1984" -X POST "http://open.quwanzhi.com:3000/api/v1/user/repos" \
-H "Content-Type: application/json" \
-d '{"name":"仓库名","description":"描述","private":false}'
若 API 报
password invalid,检查密码是否为小写zhiqun1984;若 Token 建仓,需write:user权限。
三、步骤 2:本地添加远程并推送
3.1 小仓库(<20MB)
cd /path/to/repo
git remote add gitea "http://fnvtk:zhiqun1984@open.quwanzhi.com:3000/fnvtk/仓库名.git"
git push -u gitea main
3.2 大仓库或直连不稳时(推荐)
必须:取消代理 + 使用 HTTP/1.1,避免挂起或超时。
cd /path/to/repo
# 用 Token 内嵌 URL(推荐)
NEW_TOKEN='你的Token'
git remote add gitea "http://fnvtk:${NEW_TOKEN}@open.quwanzhi.com:3000/fnvtk/仓库名.git"
# 取消代理,直连 Gitea
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
# 使用 HTTP/1.1 推送(避免代理/HTTP2 导致的问题)
GIT_HTTP_VERSION=HTTP/1.1 git push -u gitea main
大仓库(如 ~40MB)上传约需 2.5 分钟,确保执行环境无超时限制;若在 Cursor 内执行易超时,建议在终端直接运行。
四、已验证项目
| 项目 | 本地路径 | Gitea 仓库 | 备注 |
|---|---|---|---|
| 一场soul的创业实验 | 个人/2、我写的书/《一场soul的创业实验》 |
fnvtk/Mycontent | 已推送成功 |
| 一场soul的创业实验-永平 | 开发/3、自营项目/一场soul的创业实验-永平 |
fnvtk/soul-yongping | 大仓库,需直连+无超时 |
五、soul-yongping 同步与监控
| 脚本 | 说明 |
|---|---|
push_soul_yongping.sh |
首次推送或手动推送 |
sync_soul_yongping.sh |
有变更时同步(提交说明含变更内容与修改原因) |
watch_and_sync_soul_yongping.sh |
监控本地文件变更,停止修改 3 秒后自动同步到 Gitea |
永平项目约 39MB,首次推送需在终端运行 push_soul_yongping.sh(避免 Cursor 超时)。
手动执行推送:
cd "/Users/karuo/Documents/开发/3、自营项目/一场soul的创业实验-永平"
NEW_TOKEN='07f82fbd81a64fb714d9a6c47b11cc5b98f2fa2e'
git remote set-url gitea "http://fnvtk:${NEW_TOKEN}@open.quwanzhi.com:3000/fnvtk/soul-yongping.git"
unset HTTP_PROXY HTTPS_PROXY ALL_PROXY
GIT_HTTP_VERSION=HTTP/1.1 git push -u gitea main
六、故障排查
| 现象 | 处理 |
|---|---|
API password invalid |
密码改为小写 zhiqun1984 |
| 建仓 403 | Token 需含 write:user |
| push 挂起/超时 | unset 代理,用 GIT_HTTP_VERSION=HTTP/1.1 |
| 远端仍 empty | 确认 push 已完整执行,无中途 kill;大仓在终端直接跑 |