项目简介
Codesync 是我为个人多机开发环境编写的 Git 仓库同步工具。它可以在 Windows、macOS、Linux 和 WSL 上,用一条命令协调多个本地仓库与 GitHub:拉取远端更新、提交本地改动、推送新提交,并按配置自动发现或克隆仓库。
项目仓库沿用早期名称 dev-tools,安装后的 Python 包和命令均叫 codesync。
主要功能
- 一条命令同步多个 Git 仓库
- 自动发现并克隆 GitHub 上新增的仓库
- 自动提交本地改动,再通过 rebase 拉取并推送
- 支持只拉取、只推送和完全只读的状态检查
- 跨机器跟进仓库改名与归档状态
- 本地及远端删除采用可恢复的垃圾箱流程
- 对 Repository ID、路径、远端状态和版本检查采取 fail-closed 安全策略
- 启动时检查代码目录配置;目录迁移或磁盘未挂载时,在仓库操作前停止并引导修复
- GitHub 网络不稳定时提供镜像探测、连接复用、超时和重试机制
安装
需要 Python 3.11 或更高版本以及 Git。自动发现和克隆 GitHub 仓库时还需要 GitHub CLI gh。
Windows PowerShell
irm https://raw.githubusercontent.com/tinyvane/dev-tools/main/install.ps1 | iex
macOS、Linux 或 WSL
curl -fsSL https://raw.githubusercontent.com/tinyvane/dev-tools/main/install.sh | bash
安装脚本、源码和版本发布全部由 GitHub 提供;本站只展示项目说明和安装方法,不保存安装包。
开始使用
codesync init # 首次配置
codesync sync --status # 只读查看全部仓库状态
codesync sync --status --problems # 只显示需要处理的仓库
codesync sync # 执行完整同步
codesync pull # 只拉取,不推送或自动发布
codesync push # 只推送,不拉取
涉及仓库写入、自动提交、改名或垃圾箱操作前,请先阅读 GitHub README 中对应命令的行为边界。
升级
codesync --update
Windows 默认在后台升级;需要实时查看安装输出时使用:
codesync --update --foreground
项目与发布
GitHub 是 Codesync 唯一的源码、安装和升级发布源。网站页面不维护第二套版本文件,因此不会出现网站下载与 GitHub 版本不一致的问题。