【问题标题】:Get the user who created a branch with GitHub API获取使用 GitHub API 创建分支的用户
【发布时间】:2017-12-12 16:02:49
【问题描述】:

背景

  • 我正在使用 GitHub Enterprise。 我想检查我的存储库中未使用的分支,并要求这些未使用分支的所有者进行清理。
  • 您可以在 GitHub 的“分支”页面上看到“您的分支”(当前用户创建的分支)。所以我认为 GitHub 可能有关于谁创建了分支的信息。
  • 另一方面,GitHub REST API (https://developer.github.com/v3/git/refs/#get-a-reference) 的结果不包含指定分支的创建者。

问题

有什么方法可以获取使用 GitHub API 创建分支的用户?

【问题讨论】:

    标签: github github-api


    【解决方案1】:

    与 Git/GitHub 的分支没有关联的真正“所有权”。
    the documentation 中所述,“您的分支”在存储库中引用您有权推送访问的分支,不一定是您“创建”的分支。

    如果您可以访问本地克隆,您可以做的最好的事情是简单的git fetch,然后是:

    git for-each-ref --format="%(committerdate) %09 %(refname:short) %09 %(authorname)" --sort=-committerdate refs/remotes/origin
    

    这将列出从最近更新到最旧的远程分支,以及每个分支上 last 提交的作者。

    但如果您必须使用 GitHub API,那么您需要:

    然后您可以联系最近提交的提交者。

    【讨论】:

    • 我简要查看了我的存储库,发现在大多数分支中,将第一个提交添加到分支的用户是该分支的创建者。如何列出每个分支上第一个提交的作者,而不是最后一个?
    • @satob 如果您需要联系某人,最好联系最近更新分支的人。但如果必须:stackoverflow.com/a/32870852/6309(CLI 解决方案)或 graphql 解决方案(如果您没有本地克隆):stackoverflow.com/a/47523826/6309
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    • 1970-01-01
    • 2019-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多