gitlab/github 代码同步(仅 gitlab -> github)

记录一下 gitlab 和 github 之间做代码同步的步骤

实现效果

gitlab为主仓库, github为备份

具体操作

gitlab 建库, 初始化

我是页面直接建的新库, 勾选 新建README

按理来说本地push也可以, 自测

完成后为仓库建立一个访问令牌 Settings -> Access Tokens, 目的是下面用来给 github 导入仓库用, 所以有效期可以放短一点
角色选择 Maintainer, scope 选上 api

github 导库

github 新建仓库, 点击页面最上方 Import a repository.
填入 gitlab repo URL, gitlab 用户名, 上一步生成的 token

github 生成 Token

github 右上角自己头像 -> Settings -> 左侧栏拉到底 Developer Settings -> Personal access tokens -> Tokens (classic) -> 点击右上方 Generate new token
有效期给长一点 因为后面就不咋管了, scoperepo

gitlab 配置镜像库

再回到gitlab主库, Settings -> Repository -> 右侧 Mirroring Repositories -> Add new
填入 github repo URL, github 用户名, 上一步生成的 token

添加完成后可以直接点一下新增条目右侧的同步图标, 检查下效果

后记

起初是问 AI, 给了我一个使用 GitLab CI/CD 任务实现的方式

stages:
  - deploy

deploy_to_github:
  stage: deploy
  script:
    - git config --global user.email "you@example.com"
    - git config --global user.name "Your Name"
    - git remote add github https://$GITHUB_TOKEN@github.com/$GITHUB_REPO.git
    - git push github main  # 替换 main 为你的主分支名
  only:
    - main  # 只在主分支更新时触发

可惜这个一直失败

之后找到其它网友给出的实现方案尝试参考, 操作步骤及配图怀疑是年久失修, 无法照搬

posted @ 2024-12-03 11:02  tfel-ypoc  阅读(40)  评论(0编辑  收藏  举报