使用 Github API 是否可以确定某个分支是否位于默认分支之前?

2024-04-12

使用 Github API(无本地 git 命令),是否可以比较分支以查看它在默认分支之前是否有任何更改?

我正在构建一个审核工具,并希望确定要关闭的候选分支,因为它们的所有更改都存在于默认分支中。

I want the same information that drives the charts on the branches page: branch that has (See https://github.com/octokit/octokit.rb/branches https://github.com/octokit/octokit.rb/branches)

是否可以纯粹通过 Github API 获取这些信息?


你可以:

  • 使用获取默认分支https://api.github.com/repos/octokit/octokit.rb https://api.github.com/repos/octokit/octokit.rb

  • 使用以下命令将指定分支与默认分支进行比较比较两个提交 API https://developer.github.com/v3/repos/commits/#compare-two-commits并提取ahead_by & behind_by字段。

在这种情况下,它将是:https://api.github.com/repos/octokit/octokit.rb/compare/kytrinyx/generator/spike...master https://api.github.com/repos/octokit/octokit.rb/compare/kytrinyx/generator/spike...master

使用示例bash /questions/tagged/bash, curl /questions/tagged/curl & jq /questions/tagged/jq :

branch=kytrinyx/generator/spike
default_branch=$(curl -s "https://api.github.com/repos/octokit/octokit.rb" | jq -r '.default_branch')
curl -s "https://api.github.com/repos/octokit/octokit.rb/compare/$branch...$default_branch" | \
     jq -r '.ahead_by, .behind_by'
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Github API 是否可以确定某个分支是否位于默认分支之前? 的相关文章

  • 如何使用 API 创建 GitHub Gist?

    通过查看 GitHub Gist API 我了解到可以为匿名用户创建 Gist 而无需任何 API 密钥 身份验证 是这样吗 我找不到以下问题的答案 创建时是否有任何限制 要点数量 等 有没有任何示例可以让我从表单文本输入字段发布代码来创建
  • git push origin master 凭据丢失或无效

    无法再推送到原始主机 git push origin master 几天以来 我卸载了 git 和 Visual Code 并重新安装了它 但没有任何结果 我遇到了同样的错误 Missing or invalid credentials E
  • git 存储库有命名约定吗?

    例如 我有一个名为 购买服务 的 RESTful 服务 我应该命名我的存储库 purchaserestservice purchase rest service purchase rest service 或者是其他东西 约定是什么 在 G
  • 创建新分支时,基础分支是什么?

    创建分支时我需要确认 纠正我的假设 如果我在主分支中 执行以下操作后 git checkout b some branch 这意味着我已经从 master 开始了一个新分支 另一方面 如果我签出另一个分支 并在那里创建一个分支 git ch
  • Github 贡献日历日开始时间

    几天前 Github 推出了他们的新功能 贡献 https github com blog 1360 introducing contributions 我有一个疑问 这个日历的一天开始时间是几点 是使用我的本地时间还是 UTC 如果它使用
  • 拉取部署、github 操作和 ssh 密钥

    比方说 我想使用 GitHub 操作和拉取策略来设置部署流程 所以我有一个 Ubuntu 服务器 我复制服务器的公共 ssh 密钥 将其添加到我的 GitHub 帐户 然后我可以从 Ubuntu 服务器克隆 构建并运行应用程序 那太好了 但
  • 如何生成上个月的 git 提交日志并将其导出为 CSV?

    有没有办法生成上个月的 git 提交日志 并将其导出为 CSV 文件 我正在寻找可以从命令行或第三方应用程序运行的东西 我想要以下列 作者 提交日期 主题 编辑的文件和哈希 您可以使用 since and pretty的选项git log
  • 如何将本地不同的 Git 分支推送到 Heroku/master

    Heroku 的政策是忽略除 master 之外的所有分支 虽然我确信 Heroku 的设计者对这个政策有很好的理由 我猜测是为了存储和性能优化 但对我作为开发人员来说 结果是无论我正在研究什么本地主题分支 我都想要一种简单的方法将 Her
  • 发生未知错误:用户在 Xcode 13.3 上拒绝了 github.com (-17) 的证书

    我遇到了这个奇怪的错误 每次我尝试将本地 git 存储库推送到 Github 时 这个错误都会让我烦恼 希望有人能帮我解决这个奇怪的事情 我的工作环境 Xcode 13 3 就我而言 网络调试代理导致了这个问题 看来 Xcode 固定了 g
  • 带有 OAuth 访问令牌的 GitHub 克隆

    在脚本中 我尝试使用 OAuth 令牌克隆 GitHub 存储库 根据本教程 https github com blog 1270 easier builds and deployments using git over https and
  • 在我分叉了 github 项目后,如何才能保持原始项目的最新状态?

    在 github 上 在我分叉一个项目 修改它 然后提交我的拉取请求后 似乎我必须删除并重新分叉 以便在我的拉取请求得到尊重后保持最新状态 必须不断删除存储库才能使其保持最新状态 这似乎很乏味 有没有什么方法可以使其保持最新状态而无需删除和
  • 如何分叉我自己的 GitHub 存储库?

    所以 Git 的完全新手 阅读了指南 认为我已经具备了基础知识 但在实现这一目标时遇到了困难 我为我的通用标记源代码创建了一个存储库 只是我每次突破时都会重复使用的东西 它被称为markupDNA git 我想在我的 mac 站点目录中有不
  • .git/info/exclude 中的文件不起作用

    我已经放入了两个文件 git info exclude但我仍然可以看到他们git st 它们是配置文件 我不想提交更多 我把它们放在那里是因为 assume unchanged and skip worktree我无法结帐到另一家分行 如果
  • Github 下载文件夹为 zip

    如何为我的 Github 存储库的访问者提供一个链接 以将我的存储库的 builds 文件夹下载为 zip 文件 该文件夹包含应用程序所需的可执行文件 着色器和纹理 当然 我可以手动构建该目录的 zip 文件并将其添加到存储库中 但这会导致
  • Github - 自动将问题分配给项目

    我想将问题自动分配给 Github 中的项目 基本上自动为每个自动打开的问题自动生成以下屏幕截图 有任何想法吗 有两个本机支持的选项 有一个官方操作可以添加问题并拉取请求projects https docs github com en i
  • 将图像添加到可通过私人存储库中的 github 查看的 jupyter 笔记本

    我发现通过一个简单的例子嵌入 jupyter 标记中的图像 img myimage png 当存储库是私有的时 不会显示在 github 笔记本查看器中 我尝试了很多黑客行为 显然 4 x x 中有将图像嵌入为 Base64 元数据的功能
  • 无法获取 https://gerrit.googlesource.com/git-repo/clone.bundle

    我尝试按照以下说明创建一个 git 存储库 source android com source downloading html installing repo 但是当我尝试在工作目录中初始化存储库时 使用 Ubuntu 出现以下错误 wo
  • 如何在 github 中拉取请求时忽略或排除文件

    我们有 4 个分支 1 dev 2 qa 3 staging 4 master 我们要更新并添加1 dev中的CODEOWNERS文件中的一些人 2 qa到4 master的CODEOWNER文件将被保留 因为 1 dev 有 4 个审稿人
  • 如何启用非 docker 操作来访问我的自托管 github 操作运行器上 docker 创建的文件? (无根码头工人)

    Github 建议以非 root 用户身份运行他们的运行程序 这引起了一些问题围绕混合 docker 和非 docker 操作的问题 https github com actions runner issues 434 这非常烦人 因为它导
  • `env.BRANCH_NAME` 变为 `PR-1`

    我们使用 Jenkins 管道和 Github Multibranch 我在一个名为的功能分支上工作feature my1stfeature Jenkins 作业返回正确的分支名称 println env BRANCH NAME 回feat

随机推荐

  • 如何仅在特定 API 级别上执行代码

    例如 这段代码 if Build VERSION SDK INT gt Build VERSION CODES GINGERBREAD myCalendarView setOnDateChangeListener new OnDateCha
  • 如何向 CMFCPopupMenu 添加图标?

    我想用CMFCPopupMenu用于右键单击期间的弹出菜单 如何添加图标CMFCPopupMenu 这是我在基本 MFC 应用程序中尝试的示例代码 CMFCPopupMenu TestCMFCPopMenu new CMFCPopupMen
  • str在 data.frame 中按行分割并按列分配结果

    所以我有数据框 dat data frame x c Sir Lancelot the Brave King Arthur The Black Knight The Rabbit stringsAsFactors F gt dat x 1
  • Java 8 Streams:将对象列表转换为一组对象

    我正在尝试将对象列表转换为一组对象 以确保集合中是否不存在重复项 我正在尝试使用 Streams 我有一个类产品如下 class Product int id String name float price public Product i
  • 模拟通过实例使用的类方法

    我正在尝试使用模拟修补类方法 如所述在文档中 http www voidspace org uk python mock patch html patch Mock 对象本身工作正常 但它的方法却不能 例如 它们的属性如下call coun
  • 从 Delphi 将列表导出到 OpenOffice Calc

    我正在使用 Delphi 7 我想使用自动化而不是使用文件将列表内容从我的程序导出到 OpenOffice Calc 任务很简单 创建新文档 迭代行 列并更改单元格数据 我找到了一些代码 但它并不完整 我希望有人有一些示例代码可以完成这个非
  • 将 Python 安装到自托管 Windows 构建代理

    我已经安装了 Windows 代理 并且需要能够运行 Python 脚本 我知道我需要安装Python 但我不知道如何安装 我将标准安装中的 Python 文件添加到 AGENT TOOLSDIRECTORY Python 3 8 2 x6
  • Swift 的 Facebook 登录按钮

    在 Xcode 中 如果我创建一个UIView然后将自定义类添加为FBSDKLoginButton 当我单击时 它会引导我完成 Facebook 登录 然后返回到与FBSDKLoginButton但不是说登录按钮 而是说现在注销 当单击登录
  • 使用装饰器恢复生成器

    让我们有一个类 它的功能有时会失败 但经过一些操作后它就可以完美地工作 现实生活中的例子是 Mysql 查询 它会引发 mysql exceptions OperationalError 2006 MySQL server has gone
  • 终止递归调用

    据我所知 terminate 当异常处理出现问题时被调用 通常只是没有被捕获 我得到的只是一个错误行terminate called recursively 经过一段时间的谷歌搜索后 我发现了很多例子 terminate called af
  • 如何在 Visual Studio 中将 .NET Framework 更改为 .NET Standard/Core?

    我在 Visual Studio 中有一个 C 解决方案 它最初是在 NET Framework 中创建的 我想将项目转换为 NET Standard Core 如果我进入项目 gt 属性 我会看到附加的屏幕 其中目标框架是 NET Fra
  • 我应该如何解释 ghc 堆分析器的输出?

    我有一个在 haskell 中实现的服务器进程 它充当一个简单的内存数据库 客户端进程可以连接然后添加和检索数据 该服务使用的内存比我预期的要多 我正在尝试找出原因 我拥有的最粗略的指标是linux top 当我启动该过程时 我看到一个大小
  • SeekBar minHeight 和 maxHeight 通过代码

    有谁知道如何设置最小值和最大值SeekBar代码的高度 我想重现与以下 XML 摘录相同的行为
  • 在地图上显示线串的方向 - 自动缩放地图

    我有这段代码 它在地图上绘制一个线串 它是用户提供的 2 个坐标点的轨迹 public class Quickstart public static void main String args throws Exception displa
  • 使用 std 算法将容器分区/批量/分块为大小相等的块

    我遇到过一种情况 我必须将一组记录批量处理到数据库中 我想知道如何才能做到这一点标准算法 给定 10002 条记录 我希望将其划分为 100 条记录的 bin 进行处理 其余为 2 条记录的 bin 希望下面的代码能够更好地说明我想要完成的
  • 强制浏览器将下载的文件保存在特定位置

    我的项目是一个Asp Net MVC4Web应用程序 目前它有一个方法来生成文本文件并将其发送到客户端的浏览器进行下载 我需要修改它以强制浏览器将文件保存在客户端计算机上的自定义 预定义 位置 这是不可能的 因为这会带来严重的安全问题 用户
  • 根据 URL 参数选择下拉菜单 - PHP 还是 jQuery?

    根据 URL 参数为我的表单选择输出 选定 的最佳方法是什么 在我的 URL 中 我可能有这个参数 term retail 我如何告诉下面的代码选择零售选项
  • 从 HDFS 到 Amazon S3 的 Hadoop distcp 问题

    我正在尝试使用以下方法将数据从 HDFS 移动到 S3distcp The distcp作业似乎成功了 但在 S3 上 文件未正确创建 有两个问题 文件名和路径不会被复制 所有文件最终都为block
  • 启用和禁用延迟扩展,它有什么作用?

    我见过SETLOCAL ENABLEDELAYEDEXPANSION SETLOCAL DISABLEDELAYEDEXPANSION在许多批处理文件中 但命令实际上是做什么的 enabledelayeexpansion指示cmd识别语法
  • 使用 Github API 是否可以确定某个分支是否位于默认分支之前?

    使用 Github API 无本地 git 命令 是否可以比较分支以查看它在默认分支之前是否有任何更改 我正在构建一个审核工具 并希望确定要关闭的候选分支 因为它们的所有更改都存在于默认分支中 I want the same informa