Codesync

面向个人多台电脑的跨平台 Git 仓库同步与安全管理工具

开发进度

100%

项目简介

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 版本不一致的问题。