コマンドラインでGitHubのリポジトリを公開もプライベートも作成する

コマンドラインでGitHubのリポジトリを公開もプライベートも作成したくなりました。

ブラウザでGitHubを開いて作成するのが面倒だなぁと思っていて、コマンドラインでできないかな、と思ったら出てきました。

この記事はざっくり説明するとgitコマンドにhub-new-repoというサブコマンドを追加する、というものでした。

少し改変して公開リポジトリとプライベートリポジトリを作るようにしてみました。
~/.gitconfig[github]セクションにデフォルトのユーザ名を、[alias]セクションにサブコマンドを追加します。

$ cat ~/.gitconfig
# https://stackoverflow.com/questions/2423777/is-it-possible-to-create-a-remote-repo-on-github-from-the-cli-without-opening-br/38265340#38265340
[github]
    user = "yousan"
[alias]
    hub-new-public-repo = "!REPO=$(basename $PWD) GHUSER=$(git config --get github.user); curl -u $GHUSER https://api.github.com/user/repos -d {\\\"name\\\":\\\"$REPO\\\"} --fail; git remote add origin git@github.com:$GHUSER/$REPO.git; git push origin master"
    hub-new-private-repo = "!REPO=$(basename $PWD) GHUSER=$(git config --get github.user); curl -u $GHUSER https://api.github.com/user/repos -d {\\\"name\\\":\\\"$REPO\\\"\\,\\\"private\\\":\\\"true\\\"} --fail; git remote add origin git@github.com:$GHUSER/$REPO.git; git push origin master"%

実行するとこんな感じです。

$ mkdir testrepo; cd testrepo
$ git hub-new-public-repo

(作成完了!)

hub-new-private-repoにすればプライベートリポジトリが作成されます。(ただしプライベートリポジトリを持つにはGitHubに課金が必要です)

またgit add -A; git commit -m ''; git push origin masterを省略化するコマンドもあります。

ちなみにGitHub系の便利コマンドを集めたhubというコマンドパッケージもありますので、そちらもどうぞ。

Enjoy your GitHub!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする