一键批量同步多个 Git 仓库的 Python 脚本,支持自动扫描、拉取、提交和推送。
pull → commit → push 流程git clone https://cnb.cool/mlosun/OneClickGitSync
cd OneClickGitSync
或者
git clone https://github.com/mlosun/OneClickGitSync.git
cd OneClickGitSync
复制示例配置文件:
cp .env.example .env
编辑 .env 文件,根据你的操作系统设置扫描路径:
# macOS
MACOS_PATH=/Users/yourname/dev
# Windows
WINDOWS_PATH=D:\Projects
脚本会自动扫描该路径下的第一层子文件夹,识别包含 .git 目录的仓库。
python sync.py
.git 目录判断是否为 Git 仓库git pull --rebase - 拉取远端更新git status --porcelain - 检测本地改动git add -A + git commit - 自动提交git push - 推送到远端logs/sync_YYYYMMDD.log[月-日 时:分:秒] 消息编辑定时任务:
crontab -e
添加定时任务(例如每天 8:00 和 20:00 执行):
0 8,20 * * * /usr/bin/python3 /完整路径/sync.py >> /tmp/sync.log 2>&1
Win + R,输入 taskschd.msc 打开任务计划程序pythonC:\完整路径\sync.py可能原因:
解决:手动处理冲突或检查网络/权限配置
可能原因:
解决:检查网络、仓库权限或 SSH 配置
将仓库移出扫描目录,或在文件夹名前添加 . 前缀
| 文件 | 说明 |
|---|---|
sync.py | 主脚本 |
.env | 路径配置文件(需从 .env.example 复制) |
.env.example | 配置示例 |
logs/ | 日志目录(自动创建) |
.cnb.yml | CNB 云原生构建配置 |
💡 提示:首次使用建议先用测试仓库验证配置,再应用到生产环境
⚠️ 注意:本文档由 AI 生成,可能存在错误。如发现不准确之处,欢迎提交 Issue 指正。