获取已合并到主服务器中的拉取请求引用的列表

时间:2019-07-03 14:25:59

标签: git github

我需要检索已合并到master中的PR 编号的列表。使用git命令行可以做到吗?我似乎无法找到一个例子。

1 个答案:

答案 0 :(得分: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的引用,其引用位于最前面。

awkrefs/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。