以前我的日常代码大多都是托管在Gitee(即码云)上,因为不用梯子在国内使用github真的很糟心,经常连接不上,代码同步速度也很慢。
现在一人公司(OPC)做一些出海相关的项目,需要和国外的伙伴同步代码,也想做一些开源项目(会涉及国外的用户),github就是一道绕不过去的坎儿。所以我现在的新项目都托管在GitHub上,考虑到国内用户使用的方便,就想能不能让Gitee自动同步我在Github上的项目。
研究了一下,目前主流的有以下三种方案:
我选择了目前最稳定、配置最简单的方法,使用Github的Actions。把这个配置和使用步骤,分享给大家。这里假设你是GitHub和Gitee用户,或者有相关使用需求(可以收藏),要不可以划走了。
相关平台账号注册,创建项目等就不再说明了,假设你已经有了GitHub项目,需要导入Gitee,再实现自动同步。
前提:在Gitee导入GitHub项目
使用 Gitee 内置的导入功能(初始同步),适合第一次从 GitHub 导入项目到 Gitee。
操作步骤:
-
登录 Gitee 账号
-
点击右上角"+" → 选择"从 GitHub 导入项目"

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

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

好了,到这里项目已经导入Obsidian了。但是现在要同步GitHub代码需要手动,做为一个程序员,这个当然不可接受。
下面讲讲自动同步的配置,按照步骤操作即可。
使用 sync-gitee-mirror实现自动同步
步骤一:获取 Gitee 个人访问令牌(PAT)
-
登录 Gitee 账号
→ 点击右上角头像 → 设置
-
进入 安全 → 个人访问令牌

-
点击 新增令牌 ,填写名称(如
github-sync) -
勾选权限:public(最小权限即可)

- 生成并复制令牌(仅显示一次,请妥善保存)
步骤二:配置 GitHub 仓库 Secrets
-
进入 GitHub 项目
→ 点击 Settings → Secrets and variables → Actions
-
点击 New repository secret,依次添加以下三个密钥:

步骤三:创建 GitHub Actions 工作流文件
在项目根目录创建 .github/workflows/sync-to-gitee.yml 文件:

内容如下:
bash
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 }}
步骤四:提交并触发同步
bash
# 提交工作流文件
git add .github/workflows/sync-to-gitee.yml
git commit -m "Add GitHub Actions sync workflow"
git push origin main
提交后,自动触发 GitHub Actions,在 Actions 页面可查看同步进度。
验证同步
-
同步完成后,访问 Gitee 项目页面
-
确认最新提交已同步
-
在 GitHub Actions 页面查看工作流运行状态
高级配置:多分支同步
如果需要同步多个分支:
bash
on:
push:
branches:
- main
- master
- develop
私有仓库方案
注意: GitHub Actions 的免费方案仅适用于 Public 仓库。
如果是私有仓库,可考虑:
-
Gitee 企业版「外部仓库同步」功能(UI 配置)
-
使用自建 Runner 的 GitHub Actions
-
使用第三方同步服务
注意事项
-
确保 GitHub 仓库有代码更新才能触发同步
-
首次同步可能较慢,请耐心等待
-
令牌和密码请妥善保管,避免泄露
-
如需修改同步策略,编辑 YAML 文件后重新提交
关键字: #AI #Gitee #GitHub #项目同步 #OPC #程序员 #一人公司