Git如何从GitHub拉取所有Pull Requests到本地已克隆仓库?
拉取GitHub/GitLab所有Pull Requests到本地的操作方法
操作前请先进入本地已克隆的对应仓库目录。
方法1:单次临时拉取所有PR
- GitHub平台执行命令:
git fetch origin +refs/pull/*/head:refs/remotes/origin/pr/*
执行完成后所有PR会存储到本地origin/pr/序号格式的分支下,比如要查看序号为123的PR,直接执行git checkout pr/123即可。 - GitLab平台执行命令:
git fetch origin +refs/merge-requests/*/head:refs/remotes/origin/mr/*
所有合并请求会存储到本地origin/mr/序号格式的分支下,查看序号为456的合并请求执行git checkout mr/456即可。
方法2:永久配置,后续拉取自动同步PR
- 打开本地仓库的Git配置文件
.git/config - 找到对应远程仓库(默认是origin)的配置块,根据托管平台添加对应规则:
GitHub添加行:fetch = +refs/pull/*/head:refs/remotes/origin/pr/*
GitLab添加行:fetch = +refs/merge-requests/*/head:refs/remotes/origin/mr/* - 配置完成后,后续执行
git fetch origin或者git pull时就会自动同步所有PR到本地。
如果你需要拉取PR合并到目标分支后的状态,而非PR源分支的原始状态,只需把上述规则里的
head替换为merge即可。
内容的提问来源于stack exchange,提问作者Dmitry Petrov
相关产品推荐
相关产品推荐

