是否有一个稳定的url总是在github中获得默认分支?

Is there a stable url to always get the default branch in github?

过去,在大多数情况下,您只需添加 blob/master/ to a github url get the raw file, i.e. https://github.com/jacoco/jbang-catalog/blob/master/jbang-catalog.json`

现在旧仓库使用 master 但新仓库使用 main 这个技巧对新仓库不起作用。

有没有办法避免必须调用其余 api 来查找默认分支 main ?

blob/@default/ 或类似的魔法标记?

总是需要对默认分支名称进行实际查找,因为人们总是能够选择与默认 Git 或 GitHub 提供的默认分支不同的默认分支。只是过去很少使用 master 以外的名称,但许多项目长期以来一直使用不同的名称。

如果您不想使用 REST API,则可以使用 Git:

进行查找
$ git ls-remote --symref origin | head -n1
ref: refs/heads/dev     HEAD

在这种情况下,默认分支是 dev

如果您只想获取GitHub 用户界面中默认分支上的对象,那么您可以使用HEADhttps://github.com/git/git/blob/HEAD/README.md。请注意,这在本地存储库中不起作用,因为 HEAD 指的是您在本地签出的分支。

否则,如果你真的想知道分支的名称,那么你将需要查询API。这在 default_branch 下的 REST API 中公开,也应该可以通过 GraphQL API.

获得

解决方法是使用 HEAD。该符号名称将为您提供默认分支的提示,无论它的名称是什么。