Bennedichの答えに基づいて、これを行うためのGitエイリアスを作成しました。次のものをに追加します~/.gitconfig
。
[github]
user = "your_github_username"
[alias]
; Creates a new Github repo under the account specified by github.user.
; The remote repo name is taken from the local repo's directory name.
; Note: Referring to the current directory works because Git executes "!" shell commands in the repo root directory.
hub-new-repo = "!python3 -c 'from subprocess import *; import os; from os.path import *; user = check_output([\"git\", \"config\", \"--get\", \"github.user\"]).decode(\"utf8\").strip(); repo = splitext(basename(os.getcwd()))[0]; check_call([\"curl\", \"-u\", user, \"https://api.github.com/user/repos\", \"-d\", \"{{\\\"name\\\": \\\"{0}\\\"}}\".format(repo), \"--fail\"]); check_call([\"git\", \"remote\", \"add\", \"origin\", \"git@github.com:{0}/{1}.git\".format(user, repo)]); check_call([\"git\", \"push\", \"origin\", \"master\"])'"
それを使用するには、実行します
$ git hub-new-repo
ローカルリポジトリ内の任意の場所から、プロンプトが表示されたらGithubパスワードを入力します。
curl -F 'login=username' -F 'token=API Token' https://github.com/api/v2/yaml/repos/create -F name=reponame
。APIトークンはGitHubサイトで確認できます。[ アカウント設定 ]をクリックし、管理情報とAPIトークン(32文字の長い文字列)を探します。