【问题标题】:Finding branches to which a commit belongs to on github.com在 github.com 上查找提交所属的分支
【发布时间】:2020-03-23 21:38:50
【问题描述】:

我想知道在github.com 存储库中包含特定提交的所有分支。假设我需要列出所有包含commit 的分支。我知道以下方式:

  1. 切换到每个分支并查看最后提交日期并将其与提交日期进行比较。如果有多个分支和标签,这是不可行的。
  2. 查看 github 存储库并执行 git branch --contains <commit>(相关 SO question)。我不想查看 repo,因为我需要每天浏览大量 repo。

这两种方式都非常耗时。 有更好的方法吗?

【问题讨论】:

  • "我需要每天浏览大量的存储库" 克隆所有存储库后,您下次只需更新它们,不再进行完整克隆。您还可以编写本地检查脚本。
  • 关于方法 2,不要忘记打开 git branch --contains-r 开关(首先是 git fetch

标签: git github git-branch git-commit


【解决方案1】:

GitHub 没有在 API 中提供执行此操作的方法,因此您需要克隆存储库并自己完成,就像您提出的第二个解决方案一样。您的第一种技术在一般情况下无效,因为它不指示该提交是否在给定分支中,仅指示给定分支是否比给定提交更新。

请注意,可以通过 GitHub API 缓慢地抓取历史记录,但它的速度足够慢,因此克隆速度会更快,而且在您完成任务之前就会受到速率限制,这将进一步阻碍您的进度。

【讨论】:

  • 在 github 上添加一个这样做的功能是否值得?
  • 如果您有许多分支和提交,这可能是一项昂贵的操作,因此在某个存储库大小下,该操作总是会超时。欢迎您向他们索要 API,但我认为这就是他们没有 API 的原因。
猜你喜欢
  • 1970-01-01
  • 2011-08-20
  • 2017-03-05
  • 2017-07-21
  • 2020-01-19
  • 1970-01-01
  • 2020-05-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多