从命令行创建GitHub存储库

weylhg0b  于 2022-12-28  发布在  Git
关注(0)|答案(6)|浏览(151)

我一直在尝试将本地repo的修改从命令行推送到github。我离开git已经有一段时间了,所以我不记得一些事情。在过去的一个小时里,我一直在尝试推送repo,但没有在Github.com上创建一个远程repo。git push origin master/git push足以推送本地更改,如果需要,还可以在远程服务器上创建一个repo。t让我推送并自动创建repo。
So to save time, I created remote repo on github.com and add the remote repo url using
第一个月
而且奏效了。
是否需要在Github上创建远程repo,然后从命令行添加此url来推送更改?Git不能自动创建repo并推送更改吗?

kmynzznz

kmynzznz1#

在推送之前需要创建repo,但是hub可以自动完成此操作:

git init newRepo
cd newRepo
hub create

使用到hub create-p开关创建专用存储库。要推送本地master分支,请执行以下命令:

git push -u origin HEAD

该工具还可以创建拉取请求、打开项目页面、检查配置项状态、通过仅指定username/repo来克隆现有的repos,等等。
项目页面建议将git别名为hub(因为后者会将未知命令转发到git),但我不建议这样做,即使只是为了区分“裸”Git命令和hub candy。

x6h2sr28

x6h2sr282#

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

itsgus.dev在注解中所述:
在非交互式运行时,需要--public--private--internal标志。

wtzytmuj

wtzytmuj3#

Github API应该会起作用。
First create repo using curl and API https://developer.github.com/v3/repos/#create
比如:curl -u 'username' https://api.github.com/user/repos -d '{"name":"repository name"}'
然后您可以添加remote和push,如前面所述:
git remote add origin git@github.com:user/repository_name.git && git push origin master

ewm0tg9j

ewm0tg9j4#

通过curl使用REST API的answer by mickiewicz存在许多缺陷,本答案对此进行了说明。
1.使用必要的token authorization(而不是过时的密码身份验证)对GitHub进行授权
1.使curl在出错时退出,并返回非零代码(通过-f
1.参数化存储库名称
1.创建私有回购协议(默认为公共)
首先,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}"

此答案仅与在用户下创建存储库相关。在组织下创建存储库的请求稍有不同。
如果您不介意安装GitHub CLI,请参考answer by VonC

xhv8bpkk

xhv8bpkk5#

第一个install GitHub cli

  1. gh repo创建-遵循说明
    1.如果你选择不本地克隆然后继续下面假设你是在里面的工作文件夹否则repo已经被克隆到当前文件夹.
  2. git初始化
  3. git git远程添加原点https://github.com/<user>/<repo>
  4. git分支-M main
    1.现在本地文件夹和存储库已连接,您可以开始了。
    1.要删除存储库吗?如果没有管理员权限,请先获取它。
  5. gh auth refresh -h github.com -s delete_repo
    1.高回购删除<repo>--确认
wvt8vs2t

wvt8vs2t6#

gh repo create,from gh 2.21.0 (Dec. 2022)在涉及新的存储库所有者时更为精确:
当交互式地创建新的存储库时,只会提示用户输入存储库名称,并且不清楚是否可以为名称添加前缀以便在Organization中创建存储库。

拟定解决方案

如果我输入无前缀的姓名,我希望看到一个选择提示,其中包含我的个人帐户名(默认)和我所属的所有组织:

相关问题