我需要检索已合并到master
中的PR 编号的列表。使用git
命令行可以做到吗?我似乎无法找到一个例子。
答案 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
的引用,其引用位于最前面。
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。