# git-mirror-sync **Repository Path**: x007007007/git-mirror-sync ## Basic Information - **Project Name**: git-mirror-sync - **Description**: cn 镜像 https://github.com/x007007007/git-mirror-sync - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-25 - **Last Updated**: 2026-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # git-mirror Git 多远端镜像同步工具:在一个 Git 仓库中维护多个远端(GitHub/Gitee/自建 GitLab 等),并按配置将分支/标签同步到这些远端。适合做双向备份、跨平台镜像、企业内外网同步等场景。 二进制文件名为 `git-mirror`,推荐通过 GitHub Release 安装。 ## 一键脚本安装(推荐) Release 资产(assets)命名约定: - Linux x86_64:`git-mirror-x86_64-linux` - macOS x86_64:`git-mirror-x86_64-macos` - macOS arm64:`git-mirror-aarch64-macos` - Windows x86_64:`git-mirror-x86_64-windows.exe` ### Linux / macOS 稳定 URL(始终指向最新 Release): - `https://github.com/x007007007/git-mirror-sync/releases/latest/download/install.sh` 安装到默认目录(`~/.local/bin`): ```bash curl -fsSL https://github.com/x007007007/git-mirror-sync/releases/latest/download/install.sh | bash ``` 安装到指定目录(示例:`/usr/local/bin`): ```bash curl -fsSL https://github.com/x007007007/git-mirror-sync/releases/latest/download/install.sh | bash -s -- --prefix /usr/local/bin ``` 安装指定版本(tag,例如 `v0.1.0`): ```bash curl -fsSL https://github.com/x007007007/git-mirror-sync/releases/latest/download/install.sh | bash -s -- --version v0.1.0 ``` 说明: - 脚本会从 Release 下载二进制与 `SHA256SUMS` 并做校验。 - 默认安装到 `~/.local/bin`,脚本不会静默修改 PATH;如果提示 PATH 未包含该目录,请按提示加入 shell 配置(如 `~/.zshrc` / `~/.bashrc`)。 - 可通过环境变量覆盖下载仓库:`GIT_MIRROR_REPO=owner/repo`。 ### Windows(PowerShell) 稳定 URL(始终指向最新 Release): - `https://github.com/x007007007/git-mirror-sync/releases/latest/download/install.ps1` 安装到默认目录(`$env:LOCALAPPDATA\Programs\git-mirror\bin`): ```powershell iwr -useb https://github.com/x007007007/git-mirror-sync/releases/latest/download/install.ps1 | iex ``` 脚本会立即按默认参数安装,并在当前 PowerShell 会话中注册 `install` 命令(可按需传参重复执行覆盖安装)。 覆盖安装指定版本(tag,例如 `v0.1.0`)并写入用户级 PATH: ```powershell iwr -useb https://github.com/x007007007/git-mirror-sync/releases/latest/download/install.ps1 | iex; ` install -Version v0.1.0 -AddToUserPath ``` 覆盖安装到指定目录: ```powershell iwr -useb https://github.com/x007007007/git-mirror-sync/releases/latest/download/install.ps1 | iex; ` install -InstallDir "$env:USERPROFILE\bin" -AddToUserPath ``` 说明: - 脚本会从 Release 下载二进制与 `SHA256SUMS` 并做校验。 - 通过 `iwr ... | iex` 执行后,会在当前会话暴露 `install` 命令;可重复运行 `install -Version ... -InstallDir ... -AddToUserPath` 进行覆盖安装/写入 PATH。 - 可通过环境变量覆盖下载仓库:`$env:GIT_MIRROR_REPO="owner/repo"`。 ## deb / rpm 安装(Linux) Release 会同时提供 `.deb` 与 `.rpm` 包(文件名包含版本号与架构)。请从对应 Release 页面下载后安装。 示例(Debian/Ubuntu): ```bash curl -LO https://github.com/x007007007/git-mirror-sync/releases/download/v0.1.0/git-mirror_0.1.0_amd64.deb sudo dpkg -i ./git-mirror_0.1.0_amd64.deb ``` 示例(RHEL/CentOS/Fedora/openSUSE 等): ```bash curl -LO https://github.com/x007007007/git-mirror-sync/releases/download/v0.1.0/git-mirror-0.1.0-1.x86_64.rpm sudo rpm -i ./git-mirror-0.1.0-1.x86_64.rpm ``` ## 从源码安装(cargo / make) 需要 Rust toolchain(stable)。 使用 cargo(安装到 Cargo bin 目录,通常是 `~/.cargo/bin`): ```bash cargo install --path . ``` 使用 Makefile(默认安装到 `/usr/local/bin`): ```bash make install ``` 安装到自定义目录: ```bash make install PREFIX="$HOME/.local" ``` ## 升级 - 一键脚本安装:重复运行安装命令即可覆盖更新(或指定 `--version/-Version`)。 - deb/rpm:下载新版本包后重复安装;或使用系统包管理器的升级方式(例如再次 `dpkg -i` / `rpm -Uvh`)。 - 源码安装:重新构建并安装(`cargo install --path . --force` / `make install`)。 ## 卸载 ### 一键脚本安装的卸载 - Linux/macOS:删除安装的二进制文件(默认位置 `~/.local/bin/git-mirror`),例如: ```bash rm -f ~/.local/bin/git-mirror ``` - Windows:删除安装目录中的 `git-mirror.exe`(默认目录 `$env:LOCALAPPDATA\Programs\git-mirror\bin`),如需同时移除 PATH,请在“环境变量”中手动删除对应条目。 ### deb/rpm 卸载 - Debian/Ubuntu: ```bash sudo dpkg -r git-mirror ``` - RHEL/CentOS/Fedora/openSUSE: ```bash sudo rpm -e git-mirror ``` ### Makefile 卸载 ```bash make uninstall ``` ## 验证方式 ```bash git-mirror --version ``` 如提示找不到命令,请先检查安装目录是否在 PATH: ```bash command -v git-mirror || which git-mirror ``` ## FAQ ### 1) 安装后提示找不到命令(PATH 问题) - Linux/macOS:如果安装到 `~/.local/bin`,确保 shell 配置包含: ```bash export PATH="$HOME/.local/bin:$PATH" ``` - Windows:如果未使用 `-AddToUserPath`,请将安装目录加入用户或系统 PATH(新终端生效)。 ### 2) 权限/写入失败 - Linux/macOS:安装到 `/usr/local/bin` 这类目录可能需要管理员权限。建议安装到用户目录(默认 `~/.local/bin`),或自行使用具备权限的方式写入。 - Windows:如果执行策略限制脚本运行,可在受信任环境中使用: ```powershell powershell -ExecutionPolicy Bypass -File .\install.ps1 ``` ### 3) 企业网络/代理导致下载失败 安装脚本通过 HTTPS 从 GitHub 下载资源,常见处理方式: - Linux/macOS(curl):设置代理环境变量,例如: ```bash export HTTPS_PROXY="http://127.0.0.1:7890" export HTTP_PROXY="http://127.0.0.1:7890" ``` - Windows(PowerShell):设置环境变量后再执行脚本,例如: ```powershell $env:HTTPS_PROXY="http://127.0.0.1:7890" $env:HTTP_PROXY="http://127.0.0.1:7890" ``` 如果你的网络对 `github.com` 有额外限制,请优先使用企业允许的出口或镜像方式获取 Release 资产后再离线安装。