如何仅使用令牌通过 git 从 cli 创建 github 存储库?

How to create a github repository from the cli with git using only a token?

使用 github 个令牌,我发现使用新存储库的最简单方法是。

1. Create the new repo on the github site.
2. git clone https://[user]:ghp_asdcsdcasdcasdcasdcasdcasdc@github.com/[user]/repo-name.git   # Using token to authenticate
3. cd into that new folder and then put files in here and then add / commit / push
git add .  ;  git commit -m "test"  ;  git status  ;   git push -u origin master

这可行,但不能完全从 cli 执行该过程,需要在站点上执行该步骤。

但是,“官方”方式(在 github 网站上显示)是:

echo "# test-xxx" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/[user]/repo-name.git 
git push -u origin master

显然,密码验证不再可用,因此自动失败。所以我将远程添加源更新为 git remove add origin https://[user]:ghp_asdcsdcasdcasdcasdcasdcasdc@github.com/[user]/repo-name.git

但这完全失败并出现错误:

remote: Repository not found.
fatal: repository 'https://github.com/[user]/repo-name.git/' not found

所以官方的方式被打破了(因为它假设密码认证是可行的,但是密码认证在2021年8月被移除了)。

如何从 cli 在我的帐户下创建一个存储库(使用令牌,而不是密码),然后开始将更改推送到该存储库?

This works, but cannot do the process purely from the cli, requiring the step on the site.

如果您已在本地安装 GitHub CLI gh

,则无需在站点上执行任何步骤

然后您可以:


discussion 中,OP 决定:

Create the repo using gh:

gh auth login --with-token < ~/.token
git init my-project
cd my-project
gh repo create my-project --confirm --public
cd ..; rm -rfi my-project; 
git clone --depth=1 https://[user]:[token]@github.com/[user]/[my-project]