【问题标题】:how to get the commit sha given a blob sha from the github REST api如何从 github REST api 获取给定 blob sha 的提交 sha
【发布时间】:2019-11-18 02:39:08
【问题描述】:

如果我的 github 存储库中有 blob 的 sha,我可以使用它来请求它所属的提交吗?

例如,this markdown file 的 blob sha 为 25931681beb665248c803d7337ef5150d037ed2c -- 是否可以查找包含此 blob sha 的提交?

【问题讨论】:

  • 请注意:如果您设法通过 API 访问 blob sha1,通常是因为您实际上知道某种方法可以访问它。例如:您提供的链接通过它的 filename in some commit 指向一个 blob(文件 score1.md 在您的 repo 的根目录中),您可以通过“url”链接看到默认 ref 只是“master”。
  • 否则:您的机器上可能有本地克隆 ...

标签: git rest api github sha


【解决方案1】:

在一般情况下,不能保证只有一个提交包含特定的 blob。如果我在提交 A 中添加 foo.txt,然后在不更改 foo.txt 的情况下提交 B、C 和 D,那么所有这些提交中都会出现相同的 blob。

您可以使用git describe 来描述一个 blob 并找出包含它的 some 提交,但它可能不是您要查找的那个。 GitHub API 不提供此功能,因为 (a) 并不总是有一个正确的答案,并且 (b) 操作可能非常昂贵。

【讨论】:

    猜你喜欢
    • 2012-11-18
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-15
    • 2013-05-13
    • 1970-01-01
    • 2019-03-03
    相关资源
    最近更新 更多