2.2 KiB
2.2 KiB
Git 提交与推送方式(已验证)
本文件记录本项目成功推送到 Gitea 的方式,后续提交请参考此流程。
远程仓库
推荐使用 SSH 地址(与 /home/pi/news 项目一致):
git@192.168.1.10:simon/intl_news.git
HTTP 地址仅用于只读/需要 Token 时:
http://192.168.1.10:3000/simon/intl_news.git
# push 需要用户名 + Personal Access Token,例如:
# https://<user>:<token>@192.168.1.10:3000/simon/intl_news.git
提交身份
与 /home/pi/news 保持一致:
git config user.name "simon"
git config user.email "failsafe@163.com"
已验证的提交流程
# 1. 在干净 clone 上操作(避免把本地 data/.venv/.env 等带入)
git clone git@192.168.1.10:simon/intl_news.git /tmp/intlnews_gitea
cd /tmp/intlnews_gitea
# 2. 把本地项目文件同步到 clone,注意排除运行产物和敏感文件
rsync -a --delete \
--exclude='.git' \
--exclude='.venv' \
--exclude='data' \
--exclude='logs' \
--exclude='__pycache__' \
--exclude='.pytest_cache' \
--exclude='.ruff_cache' \
--exclude='.env' \
--exclude='*.pyc' \
/home/pi/intlnews/ ./ # 注意源目录结尾斜杠
# 3. 检查是否有本地旧文件覆盖了远端较新内容
# 如果远端某些文件比本地新,先恢复远端版本,例如:
# git checkout HEAD -- tests/test_report_db.py
# 4. 删除不应入库的 AI Agent 本地配置残留(如有)
# rm -f reasonix.toml
# 5. 检查变更
git status
git diff --stat
# 6. 提交
git config user.name "simon"
git config user.email "failsafe@163.com"
git add -A
git commit -m "type(scope): 简要描述"
# 7. 推送(SSH 方式,无需 HTTP 代理)
git push origin main
注意事项
- 本机全局 git 配置了
http.proxy=http://192.168.1.160:3128,直接用 HTTP 访问 Gitea 会卡住。 - 使用 HTTP 时若不想走代理,可临时关闭:
git -c http.proxy= -c https.proxy= <command> - 不要提交:
.env.venv/data/logs/__pycache__/reasonix.toml
- 如果远端 main 已经比本地工作区新,先以远端为准,再叠加本地修改,避免回退远端已有功能。