受け入れられた回答とこれまでで最も投票された回答の両方 が現在では古くなっています。パスワード認証は廃止され、2020年11月13日の16:00UTCに削除されます。
現在、GitHub APIを使用する方法は、個人用アクセストークンを使用することです。
(すべてのCAPSキーワードを置き換える)必要があります:
- Webサイトから個人アクセストークンを作成します。はい、ブラウザを使用する必要がありますが、今後のすべてのアクセスに対して1回だけです。トークンを安全に保管してください。
- 経由でリポジトリを作成する
curl -H 'Authorization: token MY_ACCESS_TOKEN' https://api.github.com/user/repos -d '{"name":"REPO"}'
または、最初から非公開にするには:
curl -H 'Authorization: token MY_ACCESS_TOKEN' https://api.github.com/user/repos -d '{"name":"REPO", "private":"true"}'
- 新しい原点を追加し、それにプッシュします。
git remote add origin git@github.com:USER/REPO.git
git push origin master
これには、トークンを毎回入力する必要があり、bashの履歴に表示されるという欠点があります。
これを回避するには、次のことができます
- ヘッダーをファイルに保存します(たとえば、と呼びましょう
HEADER_FILE
)
Authorization: token MY_ACCESS_TOKEN
- ファイルからcurlを読み取らせます
curl -H @HEADER_FILE https://api.github.com/user/repos -d '{"name":"REPO"}' # public repo
curl -H @HEADER_FILE https://api.github.com/user/repos -d '{"name":"REPO", "private":"true"}' # private repo
- より安全にするために、アクセス許可を400に設定し、ユーザーをrootに設定できます。
chmod 400 HEADER_FILE
sudo chown root:root HEADER_FILE
- これで、ヘッダーファイルにアクセスするためにsudoが必要になります
sudo curl -H @HEADER_FILE https://api.github.com/user/repos -d '{"name":"REPO"}' # public repo
sudo curl -H @HEADER_FILE https://api.github.com/user/repos -d '{"name":"REPO", "private":"true"}' # private repo