如何从命令行在组织下创建GitHub存储库?

MD *_* XF 5 git command-line curl github github-api

据我了解,使用GitHub v3 API在命令行上创建个人存储库,可以做到这一点(适当替换USERNAME和REPONAME):

curl -u 'USERNAME' https://api.github.com/user/repos -d '{"name":"REPONAME"}'
Run Code Online (Sandbox Code Playgroud)

然后,用户输入其用户名和密码,GitHub将在“ github.com/USERNAME/REPONAME”创建一个新的空存储库。

我的问题是,如何通过命令行创建组织拥有的存储库?我尝试用组织名称替换USERNAME,这提示我输入“主机密码”。我是该组织的所有者,所以我输入了密码,但获得了“错误的凭据”。这种方法不适用于组织拥有的存储库吗?还是我做错了什么?

gre*_*hor 25

使用新的 github cli,它非常简单:

gh repo create ORGNAME/REPONAME
Run Code Online (Sandbox Code Playgroud)


kfb*_*kfb 6

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

创建

为经过身份验证的用户创建一个新存储库。(当前未启用集成)

POST /user/repos

在此组织中创建一个新存储库。经过身份验证的用户必须是指定组织的成员。

POST /orgs/:org/repos

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

  • 为了澄清起见,我是否将 `:` 保留在 `:org` 中?例如,如果我的组织名称是“foo”,那么请求是“POST /orgs/:foo/repos”还是“POST /orgs/foo/repos”? (2认同)
  • 你不保留结肠。它仅将其指定为变量。您可以在此处看到对同一端点进行调用的示例:http://stackoverflow.com/a/19577228/1639983 编辑:我知道调用不是在做同样的事情,但端点仍然相同。 (2认同)

小智 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 }'
Run Code Online (Sandbox Code Playgroud)