获取已合并到master中的拉取请求参考列表

问题描述 投票:0回答:2

我需要检索已合并到 master 中的 PR

numbers
列表。这可以通过
git
命令行实现吗?我似乎找不到这样的例子。

git github
2个回答
1
投票

尝试

git ls-remote <repo_url> refs/pull/*/merge | awk '{split($2,a,"/");print a[3]}'

Github 的拉取请求是类似

refs/pull/*/head
的引用。如果被接受,则会创建一个参考
refs/pull/*/merge
*
是 PR 号码。

git ls-remote
refs/pull/*/merge
格式检索引用,其提交位于前面。

awk
refs/pull/*/merge
作为分隔符拆分
/
,并打印第三部分,即 PR 编号。

但只有当所有 PR 都合并到

master
时它才有效。我不确定其他分支机构是否可以接受 PR。如果可以,您需要将这些引用和
master
获取到本地存储库,并找到可从
master
访问的内容。

git init foo
git fetch <repo_url> refs/pull/*/merge:refs/pull/*/merge
git fetch <repo_url> refs/heads/master
git for-each-ref refs/pull/*/merge  --format="%(refname)" --merged=FETCH_HEAD

但请注意,它不适用于挤压合并的 PR。


0
投票

您可以像这样提取 PR 号码列表:

git checkout master # your branch
git log --merges --oneline | grep '#' | awk '{print $5}'
© www.soinside.com 2019 - 2024. All rights reserved.