git - 获取已合并到 master 的 pull request refs 列表
问题描述
我需要检索已合并到的 PR编号master
列表。这可以通过git
命令行实现吗?我似乎无法找到这样的例子。
解决方案
尝试
git ls-remote <repo_url> refs/pull/*/merge | awk '{split($2,a,"/");print a[3]}'
Github 的拉取请求是 ref 之类的refs/pull/*/head
。如果它被接受,refs/pull/*/merge
就会创建一个 ref。*
是 PR 编号。
git ls-remote
检索格式中的 refs,refs/pull/*/merge
它们的提交在前面。
awk
拆分refs/pull/*/merge
为/
分隔符并打印第三部分,即 PR 编号。
但它只有在所有 PR 都合并到master
. 我不确定 PR 是否可以被其他分支机构接受。如果可以,您需要获取这些 refs 并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
但请注意,它不适用于 squash-merged 的 PR。
推荐阅读
- ansible - 连接到另一台主机时,ansible 不会读入变量
- c# - TPL 数据流:为什么会出现以下阻塞?
- javascript - Firefox 和 Edge 在打印时不使用我的 CSS all/media/print
- reactjs - 在 React.js 中选择下拉值时如何启用按钮?
- regex - 正则表达式结果为多个匹配输出单个匹配
- amazon-web-services - 如何通过 ASG 使用 Terraform 获取 EC2 实例的私有 IP
- groovy - 无法在詹金斯管道的共享库中创建 zip 文件
- android - Android 地点自动完成
- haskell - 在 Haskell 中使用函子、应用程序和单子进行练习
- visual-studio - 出于教育目的,如何在 Visual Studio 中禁用语法突出显示?