GitHub存储库ID号是永久的吗?

时间:2016-11-25 05:00:54

标签: github

GitHub v.3 API for repository data返回给定存储库的整数标识符。此标识符是返回数据中字段id的值。在这个例子中,它是数字1296269:

[
  {
    "id": 1296269,
    "owner": {
      "login": "octocat",
       ... stuff omitted for brevity ...
    },
    "name": "Hello-World",
    "full_name": "octocat/Hello-World",
       ... stuff omitted for brevity ...
  }
]

一旦将给定的标识符值分配给存储库,是否重新使用,即使随后删除了存储库或其所有者帐户?换句话说,标识符是唯一且永久的,并且永远不会重复用于任何其他存储库吗?

在这种情况下,我并不仅仅意味着重命名存储库;这不会被视为在同一意义上“重用”它,也不会完全用其他内容替换存储库的内容。我试图明确了解GitHub id值是否会被“回收”,如果你愿意的话。

(老实说,我在GitHub文档和网页上搜索过,但无论如何都找不到声明。如果我错过了,我会道歉并很乐意指出相应的文档。)

1 个答案:

答案 0 :(得分:2)

Ruby toolkit for the GitHub API依赖于自2014年以来GitHub ID的唯一性:请参阅issue 483PR 485

当时(2014年),renamed repo were not supported,但从那时起(April 2015),they are

  

如果在重命名之前有关于repo的信息,则应该具有API返回的id。如果您具有对存储库的弹性访问权限,则只需执行

GET /repositories/1234
  

无论名称是否发生变化(假设您仍然可以访问),您始终会获得存储库。