虽然我绝对不是这个私人仓库的所有者,但我一直将其用作学校项目小组的一部分,而老师在向他发送有关任何事情的电子邮件时只是询问仓库的 ID。如果这对很多人来说是显而易见的,我很抱歉,但在我的一生中,我无法通过 github 或 google 找到任何关于此的明确说明。我的 git 没有使用 GUI,而是严格通过 Linux shell。
如何找到当前Repo的ID?
如果像我一样,您想要的是 GitHub 存储库 ID(如 - 标识存储库的数字 - 而不是其名称),那么我找到了一种简单的方法,可以通过 GitHub 上存储库主页上的元数据元素来执行此操作:
搜索页面源代码并查找
octolytics-dimension-repository_id
。你应该找到类似的东西:
<meta content="123456789" name="octolytics-dimension-repository_id" />
在此示例中,存储库的 ID 为
123456789
。
这是您可以在控制台中运行的快速查询:
$("meta[name=octolytics-dimension-repository_id]").getAttribute('content')
九年后,使用 graphql API,出现了一个很棒的 探索者
repo_name
、owner_name
替换为实际值query {
repository (name: *repo_name*, owner: *owner_name*) {
id
}
}
仅此而已。
您在 GitHub 上的存储库确实有一个唯一的 ID,可以使用以下简单的 bash 脚本获取它:
#!/bin/bash
OWNER='your github username or organization name'
REPO_NAME='your repository name'
gh api -H "Accept: application/vnd.github+json" repos/$OWNER/$REPO_NAME | jq .id
注意:您需要安装 jq 和 github cli 才能使其正常工作。
当你说“repo ID”时,你是指 GitHub 上的 repo 的 URL 吗?
如果这就是您正在寻找的内容,请使用
git remote
。
plankton:~/scraps $ git remote -v
origin [email protected]:petdance/scraps.git (fetch)
origin [email protected]:petdance/scraps.git (push)
如果您有多个远程存储库输入到本地存储库中,所有这些存储库都会在那里列出。
您可以使用
gh
gh repo view OWNER/REPO --json id
输出:
{
"id": "R_kgDxxx6U7w"
}
最简单的方法是在浏览器中打开以下网址。
https://api.github.com/repos/OWNER/REPO
例如https://api.github.com/repos/qoomon/sandbox
JSON 响应将包含字段
id
别名存储库 id。
我猜他正在谈论 name/reponame 组合(它唯一标识 github 上的 repo),例如如果您在
git remote
中使用以下字符串
git://github.com/sublimescala/sublime-ensime.git
id 将为 sublimescala/sublime-ensime