最佳实践分享:GitHub项目自动同步到Gitee(码云)

0 阅读3分钟

以前我的日常代码大多都是托管在Gitee(即码云)上,因为不用梯子在国内使用github真的很糟心,经常连接不上,代码同步速度也很慢。

现在一人公司(OPC)做一些出海相关的项目,需要和国外的伙伴同步代码,也想做一些开源项目(会涉及国外的用户),github就是一道绕不过去的坎儿。所以我现在的新项目都托管在GitHub上,考虑到国内用户使用的方便,就想能不能让Gitee自动同步我在Github上的项目。

研究了一下,目前主流的有以下三种方案:

我选择了目前最稳定、配置最简单的方法,使用Github的Actions。把这个配置和使用步骤,分享给大家。这里假设你是GitHub和Gitee用户,或者有相关使用需求(可以收藏),要不可以划走了。

相关平台账号注册,创建项目等就不再说明了,假设你已经有了GitHub项目,需要导入Gitee,再实现自动同步。

前提:在Gitee导入GitHub项目

使用 Gitee 内置的导入功能(初始同步),适合第一次从 GitHub 导入项目到 Gitee。

 操作步骤:

  1. 登录 Gitee 账号

  2. 点击右上角"+" → 选择"从 GitHub 导入项目"

图片

  1. 授权 GitHub 账号,选择要导入的仓库

图片

  1. 同步完成后,在 Gitee 项目主页可点击"同步更新"按钮手动同步。

图片

好了,到这里项目已经导入Obsidian了。但是现在要同步GitHub代码需要手动,做为一个程序员,这个当然不可接受。

下面讲讲自动同步的配置,按照步骤操作即可。

使用 sync-gitee-mirror实现自动同步

步骤一:获取 Gitee 个人访问令牌(PAT)

  1. 登录 Gitee 账号

     → 点击右上角头像 → 设置

  2. 进入 安全 → 个人访问令牌

图片

  1. 点击 新增令牌,填写名称(如 github-sync

  2. 勾选权限:public(最小权限即可) 

图片

  1. 生成并复制令牌(仅显示一次,请妥善保存)

步骤二:配置 GitHub 仓库 Secrets

  1. 进入 GitHub 项目

     → 点击 Settings → Secrets and variables → Actions

  2. 点击 New repository secret,依次添加以下三个密钥:

图片

步骤三:创建 GitHub Actions 工作流文件

在项目根目录创建 .github/workflows/sync-to-gitee.yml 文件: 

图片

内容如下:

name: Sync to Gitee
on:
  push:
    branches: [main, master]  # 触发分支,按需修改
jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - name: Sync GitHub to Gitee
        uses: abersheeran/sync-gitee-mirror@v1-beta
        with:
          repository: ${{ secrets.GITEE_USER }}/你的仓库名
          username: ${{ secrets.GITEE_USER }}
          password: ${{ secrets.GITEE_PASSWORD }}

步骤四:提交并触发同步

# 提交工作流文件
git add .github/workflows/sync-to-gitee.yml
git commit -m "Add GitHub Actions sync workflow"
git push origin main

提交后,自动触发 GitHub Actions,在 Actions 页面可查看同步进度。

验证同步

  1. 同步完成后,访问 Gitee 项目页面
  2. 确认最新提交已同步
  3. 在 GitHub Actions 页面查看工作流运行状态

高级配置:多分支同步

如果需要同步多个分支:

on:
  push:
    branches:
      - main
      - master
      - develop

私有仓库方案

注意: GitHub Actions 的免费方案仅适用于 Public 仓库

如果是私有仓库,可考虑:

  1. Gitee 企业版「外部仓库同步」功能(UI 配置)
  2. 使用自建 Runner 的 GitHub Actions
  3. 使用第三方同步服务

注意事项

  • 确保 GitHub 仓库有代码更新才能触发同步
  • 首次同步可能较慢,请耐心等待
  • 令牌和密码请妥善保管,避免泄露
  • 如需修改同步策略,编辑 YAML 文件后重新提交

我是加贝哥,「猿in」公众号主理人, 「开源AI知识库」作者。最后感谢阅读我的文章,如果觉得不错,请帮忙点赞!

关键字: #AI #Gitee #GitHub #项目同步 #OPC #程序员 #一人公司