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

如何通过分支在GitLab中镜像GitHub Pull Requests?现有拉取方案无法查看PR提交

实现GitLab分支镜像GitHub Pull Requests的方案

1. 为GitLab项目添加GitHub远程源

在GitLab项目的终端(或本地克隆项目后操作)执行以下命令,将目标GitHub仓库设为额外远程源:

git remote add github https://github.com/<你的GitHub用户名>/<仓库名>.git

2. 用GitLab CI/CD自动同步PR到专属分支

通过GitLab的CI/CD流水线,定期将GitHub的所有PR同步为GitLab的pr/<PR编号>格式分支,每个PR对应一个独立分支,方便查看提交记录。

在项目根目录创建.gitlab-ci.yml文件,写入以下内容:

sync-github-prs:
  stage: sync
  only:
    - schedules
  script:
    # 拉取GitHub所有PR的head分支到本地pr/*分支
    - git fetch github '+refs/pull/*/head:refs/heads/pr/*'
    # 将本地pr/*分支推送到GitLab远程仓库
    - git push origin '+refs/heads/pr/*:refs/heads/pr/*'

随后在GitLab项目的CI/CD > 计划页面创建定时任务(比如每小时执行一次),即可实现自动同步。

3. 查看PR的提交记录

同步完成后,在GitLab的分支页面就能看到所有pr/开头的分支,点击任意分支即可查看对应GitHub PR的完整提交记录,操作逻辑和查看普通分支完全一致。

4. 手动同步(可选)

如果不需要定时自动同步,也可以在需要时手动执行以下命令完成同步:

git fetch github '+refs/pull/*/head:refs/heads/pr/*'
git push origin '+refs/heads/pr/*:refs/heads/pr/*'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 23:09:58