从命令行创建Github存储库

时间:2016-02-01 07:25:22

标签: git github repository

我一直在尝试将命令行中的本地repo更改推送到github。我已经离开git一段时间了,所以我不记得一些事情。在过去的一小时里,我一直试图在没有在Github.com上创建远程仓库的情况下推销仓库。据我所知,git push origin master / git push足以推送本地更改,并在必要时在远程服务器上创建一个repo。但是git push不会让我推动并自动创建回购。

为了节省时间,我在github.com上创建了远程仓库并使用

添加远程仓库网址

git remote add origin https://mygithubrepoUrl.com

并且有效。

是否有必要在Github上创建远程仓库,然后从命令行添加此URL以推送更改? Git不能自动创建repo并推送更改吗?

4 个答案:

答案 0 :(得分:14)

你需要在推送之前创建回购,但有hub为你自动执行此操作:

git init newRepo
cd newRepo
hub create

使用-p切换到hub create创建私有存储库。要推送本地master分支,请发出:

git push -u origin HEAD

该工具还可以创建拉取请求,打开项目页面,检查CI状态,仅通过指定username/repo来克隆现有的回购,以及更多内容。

项目页面建议将git别名化为hub(因为后者会将未知命令转发给git),但我不建议这样做,即使只是为了区分& #34;裸"来自hub糖果的Git命令。

答案 1 :(得分:5)

Github API应该可以工作。

首先使用newValue和API创建回购 https://developer.github.com/v3/repos/#create

像这样的东西: curl

然后您可以添加远程和推送,如前所述:

curl -u 'username' https://api.github.com/user/repos -d '{"name":"repository name"}'

答案 2 :(得分:4)

cli.github.com现在是中心的继承人。

cli 0.6PR 547起,它允许从命令行创建存储库

创建一个新的GitHub存储库。

用法:

创建一个新的GitHub存储库。

使用“ ORG/NAME”语法在您的组织内创建一个存储库。

用法:

gh repo create [<name>] [flags]

标志:

-d, --description string   Description of repository
    --enable-issues        Enable issues in the new repository (default true)
    --enable-wiki          Enable wiki in the new repository (default true)
-h, --homepage string      Repository home page URL
    --public               Make the new repository public
-t, --team string          The name of the organization team to be granted access

全局标志:

 --help                  Show help for command
 -R, --repo OWNER/REPO   Select another repository using the OWNER/REPO format

答案 3 :(得分:1)

通过curl使用REST API的answer by mickiewicz存在许多缺陷,此问题已解决。值得注意的是,这个答案:

  1. 使用必要的token authorization(而非过时的密码身份验证)对GitHub进行授权
  2. 在发生错误的情况下(通过curl使-f以非零代码退出
  3. 参数化回购名称
  4. 进行私人回购(默认为公开)

首先,obtain a token可以访问repo范围。

REPO_NAME=foo1
GITHUB_TOKEN=0000000000000000000000000000000000000000  # Enter your own.

curl -f -X POST \
  -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/user/repos -d "{\"name\": \"${REPO_NAME}\", \"private\": true}"

此答案仅与在user下创建存储库有关。在organization下创建存储库的请求略有不同。

如果您不介意安装GitHub CLI,请改为参考answer by VonC