You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何同步从Bitbucket导入至GitLab-EE的项目(无需重新导入)

同步从Bitbucket Server导入的GitLab项目(无需重新导入)

下面是几种无需重新导入就能同步的可行方案,按通用性排序:

方法1:手动用Git命令同步(最可靠,无依赖)

这是Git原生的同步方式,适用于所有场景:

  • 本地克隆你的GitLab项目:
    git clone <GitLab项目仓库URL>
    cd <项目目录名>
    
  • 添加Bitbucket作为远程仓库(如果之前加过,跳过这步):
    git remote add bitbucket <Bitbucket项目仓库URL>
    
  • 拉取Bitbucket上所有分支和标签的最新内容:
    git fetch bitbucket
    
  • 同步主分支(比如main或master):
    git checkout main
    git merge bitbucket/main --no-ff  # --no-ff保留合并历史,可选
    
  • 同步其他分支(比如dev),重复上述checkout和merge步骤:
    git checkout dev
    git merge bitbucket/dev
    
  • 最后把同步后的代码推回GitLab:
    git push origin --all  # 推送所有分支
    git push origin --tags  # 推送所有标签
    

提示:如果合并时出现冲突,手动解决冲突后执行git add .和git commit,再推送即可;如果之前已经添加过Bitbucket远程,可执行git remote update bitbucket拉取最新内容。

方法2:用GitLab EE的镜像仓库功能自动同步

GitLab EE自带仓库镜像能力,可设置自动拉取Bitbucket的更新:

  • 进入GitLab项目的设置 > 仓库 > 镜像仓库
  • 点击「添加镜像仓库」,填写Bitbucket的仓库URL(需要带认证信息,格式为https://<Bitbucket用户名>:<个人访问令牌>@bitbucket.example.com/项目路径.git)
  • 选择镜像方向为「从远程仓库拉取」
  • 勾选「镜像所有分支」「镜像所有标签」,按需设置同步频率(每天/每周),也可以手动触发同步
  • 保存设置后,GitLab会自动按照规则同步Bitbucket的代码

提示:需要先在Bitbucket Server上创建个人访问令牌,权限至少包含仓库的读权限。

方法3:通过GitLab CI/CD实现自定义同步

如果需要更灵活的同步规则(比如只同步特定分支、定时同步),可以写CI/CD脚本:

  • 在项目根目录创建.gitlab-ci.yml文件,示例内容:
    sync-bitbucket:
      stage: sync
      only:
        - schedules  # 仅定时触发,可改为特定分支或手动触发
      script:
        - git config --global user.name "GitLab CI/CD"
        - git config --global user.email "ci@example.com"
        - git remote add bitbucket https://$BITBUCKET_USER:$BITBUCKET_TOKEN@bitbucket.example.com/项目路径.git
        - git fetch bitbucket
        # 同步主分支
        - git checkout main
        - git merge bitbucket/main --no-edit
        - git push origin main
        # 同步dev分支
        - git checkout dev
        - git merge bitbucket/dev --no-edit
        - git push origin dev
        # 推送所有标签
        - git push origin --tags
    
  • 在GitLab项目的设置 > CI/CD > 变量中添加BITBUCKET_USER和BITBUCKET_TOKEN两个变量,分别填入Bitbucket的用户名和个人访问令牌
  • 进入CI/CD > 计划创建定时任务,设置同步频率(比如每天凌晨)

内容的提问来源于stack exchange,提问作者mohammadt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 02:05:24