如何通过新名称访问重命名的私有GitHub存储库

时间:2017-10-05 22:40:06

标签: github github-api renaming

我通过用户界面将foo/bar的私有GitHub仓库重命名为foo/qux后,如果我尝试获取

https://api.github.com/repos/foo/qux

我得到了404。

如果我通过旧名称(https://api.github.com/repos/foo/bar)请求,我会获得重定向。但总的来说,我没有以前的存储库名称可以使用,所以这不是一个选项。

我能想到的最佳解决方案是获取https://api.github.com/user/repos,翻阅所有存储库并找到名为foo/qux的存储库。但这很糟糕,我确信当我去https://github.com/foo/qux时,GitHub UI不会这样做。那么是否有更简单的方法来获取名为foo/qux的仓库的ID?

2 个答案:

答案 0 :(得分:1)

  

我得到了404。

从“example-repository-redirects.md”和官方博文“Automatic redirects for renamed repositories”(2015年7月),您不应该。

几小时后再试一次,如果重命名后只有 404。 但是名为foo/qux的repo 现在的ID应该是...... foo/qux
这意味着您不需要找到它的旧名称。

答案 1 :(得分:1)

即使您没有读取存储库本身的权限,GitHub API也会响应旧的私有存储库名称​​的重定向(这就是为什么我在获取404时的原因)以新名称甚至数字ID请求它。

这导致我错误地得出结论,API知道旧名称而不是新名称。

在个人身份验证令牌上选择“完全控制私有存储库”范围,您应该能够以新名称请求私有存储库。