Git引用,例如在NPM包中的git://
uris或github中的/tarball
路由中使用的那些可以(至少)有三种形式:分支名称,提交哈希值或标记名称。 GitHub api中是否有一条路由可以确定,给定一个任意引用,它是哪种类型?我能想到的唯一方法是尝试使用引用命中/tags
,/branches
和/commits
路由,等待其中一个返回成功结果。当然,这不是很有效。有没有更好的办法?
更好的是,在给定这些类型的引用之一的情况下,它会将其转换为提交哈希(因此,如果给定提交哈希,它将返回哈希;给定分支,它将返回分支上的最新提交,并给定一个标记,它将返回标记指向的提交哈希值。
答案 0 :(得分:0)
你不需要。如果您有提交哈希,则可以使用/tree
端点:
https://github.com/owner/repo/tree/commit-hash
如果您有输入字符串,则可以按照提及的方式检查不同的端点。
目前GitHub没有这样的功能,可能没有,因为你可能有一个分支和一个同名的标签(那么它会在类型之间出现混淆)。