如何在命令行下创建一个属于组织的 GitHub 代码仓库?

20

据我所知,使用GitHub v3 API在命令行上创建个人存储库的方法是执行 这个操作(请适当替换USERNAME和REPONAME):

curl -u 'USERNAME' https://api.github.com/user/repos -d '{"name":"REPONAME"}'
用户然后输入他们的用户名和密码,GitHub将在“github.com/USERNAME/REPONAME”创建一个新的空仓库。
我的问题是,如何通过命令行创建一个组织拥有的存储库?我尝试将USERNAME替换为组织的名称,然后它提示我输入“主机密码”。我拥有该组织,因此我输入了我的密码,但我得到了“凭证无效”的错误。这种方法对于组织拥有的存储库不起作用吗?或者我做错了什么?
3个回答

22

有了新的 Github CLI 工具,创建仓库就像这样简单:

gh repo create ORGNAME/REPONAME

6
要在组织下创建代码库,应该发送请求到POST /orgs/:org/repos端点而不是/user/repos。您的用户无需超过创建用户代码库所需的任何额外权限或范围,但用户必须是:org的成员。

创建

为已验证用户创建新代码库。(当前未启用集成)

POST /user/repos

在此组织中创建新代码库。已验证用户必须是指定组织的成员。

POST /orgs/:org/repos

(来自https://developer.github.com/v3/repos/#create

2
请问,我在 :org 中是否需要保留 : 符号?例如,如果我的组织名称是 'foo',那么请求是 POST /orgs/:foo/repos 还是 POST /orgs/foo/repos - MD XF
2
不需要保留冒号。它只是将其指定为一个变量。您可以在此处查看对同一终端点进行的调用示例:https://dev59.com/H2Ik5IYBdhLWcg3wG63b#19577228 编辑:我知道这个调用并没有做同样的事情,但终端点仍然是相同的。 - Holden Lewis

5

仅为完整性起见:Git Api v3的示例:

curl -u USERNAME https://api.github.com/orgs/ORGNAME/repos -d '{"name":"NAME_OF_REPO", "description":"SOME_DESCRIPTION", "private": true, "has_issues": true, "has_projects": true, "has_wiki":false }'

非常好!这解决了我的问题。不太容易找到!非常感谢。 - danivicario

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接