【工具篇2】Gitee导入github repo作为持续的镜像站,自建 GitHub 镜像仓库详细步骤

Gitee 自建 GitHub 镜像仓库详细步骤

在 Gitee 上自建 GitHub 镜像仓库,可以解决第三方镜像站不稳定的问题,尤其适合需要长期维护的项目(如需要的 LoRA-Torch)。以下是完整操作流程:

一、准备工作

  1. 注册并登录 Gitee 账号:访问 Gitee 官网,完成注册(建议绑定手机号,避免权限限制)。
  2. 确认目标 GitHub 仓库可访问:确保需要镜像的仓库(如 https://github.com/Baijiong-Lin/LoRA-Torch)是公开仓库(私有仓库需额外授权)。

二、创建镜像仓库(核心步骤)

步骤 1:从 GitHub 导入仓库

  1. 登录 Gitee 后,点击右上角「+」号,选择「从 GitHub 导入仓库」:

  2. 在弹出的页面中,填写以下信息:

    • GitHub 仓库地址 :输入目标仓库的完整 URL(例如 https://github.com/Baijiong-Lin/LoRA-Torch.git)。
    • 仓库名称 :建议与原仓库保持一致(如 LoRA-Torch),方便识别。
    • 路径:自动生成(与仓库名称相同,可自定义)。
    • 仓库介绍:可选,建议填写「GitHub 仓库镜像:原地址 xxx」。
    • 是否私有:选择「公开」(与原仓库保持一致,避免侵权)。
  3. 点击「导入」,等待 Gitee 同步仓库内容(耗时取决于仓库大小,一般几秒到几分钟)。

步骤 2:验证镜像仓库是否创建成功

导入完成后,会自动跳转至新建的 Gitee 仓库页面。检查以下内容:

  • 仓库文件结构与 GitHub 原仓库一致(如 setup.pyloratorch 目录等)。
  • 提交历史(Commits)是否同步(至少显示最新的几次提交)。

若显示「导入失败」,可能是由于 GitHub 仓库地址错误或网络波动,可重试几次。

三、保持镜像仓库与 GitHub 同步(关键)

Gitee 不会自动实时同步原 GitHub 仓库的更新,需要手动触发同步或配置定时同步:

方法 1:手动同步(简单直接)

  1. 进入你的 Gitee 镜像仓库,点击右上角「同步更新」按钮:
  2. 在弹出的窗口中点击「确认同步」,等待同步完成(会显示「同步成功」)。

适用场景:偶尔需要更新镜像,无需实时同步的情况。

方法 2:配置定时同步(自动化)

通过 Gitee 的「WebHook + 定时任务」实现自动同步(适合需要长期维护的仓库):

  1. 获取 GitHub 仓库的 WebHook 地址:

    • 进入 Gitee 镜像仓库,点击「管理」→「WebHook」→「添加 WebHook」。
    • 「Payload URL」填写 Gitee 提供的同步地址(格式:https://gitee.com/api/v5/repos/你的用户名/仓库名/mirror_sync)。
    • 「Secret」留空,点击「添加」。
  2. 在 GitHub 原仓库配置触发同步:

    • 进入 GitHub 仓库,点击「Settings」→「Webhooks」→「Add webhook」。
    • 「Payload URL」填写步骤 1 中获取的 Gitee WebHook 地址。
    • 「Content type」选择 application/json,点击「Add webhook」。

    配置后,当 GitHub 仓库有新提交时,会自动触发 Gitee 镜像同步。

四、使用 Gitee 镜像仓库安装依赖

镜像仓库创建成功后,即可通过 Gitee 地址安装 LoRA-Torch,彻底避开 GitHub 网络问题:

方法 1:通过 pip 直接安装

bash 复制代码
# 格式:pip install git+https://gitee.com/你的Gitee用户名/仓库名.git
pip install git+https://gitee.com/你的用户名/LoRA-Torch.git

方法 2:手动克隆后安装(适合频繁修改代码)

bash 复制代码
# 克隆 Gitee 镜像仓库到本地
git clone https://gitee.com/你的用户名/LoRA-Torch.git

# 进入仓库目录,本地安装
cd LoRA-Torch
pip install .  # 支持 editable 模式:pip install -e .(修改代码后无需重新安装)

五、注意事项

  1. 开源协议合规:确保原 GitHub 仓库的开源协议(如 MIT、Apache)允许镜像和二次分发,避免侵权。
  2. 敏感信息处理:若原仓库包含密钥、Token 等敏感信息,镜像前需确保已被删除(Gitee 会完整同步所有文件)。
  3. 大文件同步 :若仓库含超过 100MB 的文件(如模型权重),Gitee 可能同步失败,建议先通过 git lfs 处理(需在 Gitee 仓库设置中启用 LFS)。

通过以上步骤,你可以拥有一个稳定可控的 LoRA-Torch 镜像仓库,后续安装或更新时直接使用 Gitee 地址,彻底解决国内网络访问 GitHub 的问题。如果需要其他仓库(如 nvdiffrastpytorch3d),可按相同流程创建镜像。