ShellScript
Git
GitHub
CUI
private-repo

Githubの無料アカウントユーザにもPrivateリポジトリ作成が無制限になったのでどんどん作成するための環境を作ってみる

はじめに

Githubの無料アカウントユーザにもPrivateリポジトリ作成が無制限となった。

とはいえ、今まで使っていた bitbucket-clibb コマンドのように、CUIで リポジトリを作成し たり プルリクエストあげ たり 削除し たりはできるようにしたい。

以下のツールを導入してみる。

特徴

一部抜粋

hub is a command line tool that wraps git in order to extend it with extra features and commands that make working with GitHub easier.

日本語訳すると以下のようになる。

hubはGitHubでの作業を容易にする追加機能やコマンドでgitを拡張するためにgitをラップするコマンドラインツールです。

ラッパーツールということで Git は必須。

環境

$ uname -a
Darwin NP178 18.2.0 Darwin Kernel Version 18.2.0: Mon Nov 12 20:24:46 PST 2018; root:xnu-4903.231.4~2/RELEASE_X86_64 x86_64 i386 MacBookPro11,4 Darwin


$ zsh --version
zsh 5.6.2 (x86_64-apple-darwin17.7.0)

インストール

以下を参照

GitHub - github/hub: hub helps you win at git.

Macだと Homebrew で一発。もちろん他のプラットフォーム向けのインストール方法も記載されている。
( Windowsには Scoop なんてツールがあるんですね。これを使ってのインストール方法も記載されています。 )

$ brew install hub

以下のコマンドでバージョンが表示されればインストールOK。

$ hub version
git version 2.20.1
hub version 2.7.0

実験

コマンドラインから 公開リポジトリを作成

# 検証用ディレクトリを作成
$ mkdir /tmp/work/test_repo_public
$ cd /tmp/work/test_repo_public

# Git初期化
$ git init
Initialized empty Git repository in /private/tmp/work/test_repo_public/.git/

# テストファイルを作成
$ echo こうかいりぽじとりてすと > README
$ git add README

# Gitコミット
$ git commit -m "first commit."
[master (root-commit) 6c203b6] first commit.
 1 file changed, 1 insertion(+)
 create mode 100644 README

# hubコマンドを使ってリポジトリ作成( -oオプションをつけると、作成と同時にGithubのリポジトリページをブラウザで表示 )
$ hub create -o

# Gitプッシュが成功
$ git push
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 239 bytes | 239.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:genzouw/test_repo_public.git
 * [new branch]      master -> master

いらないので、即座に削除

$ hub delete -y test_repo_public
Deleted repository 'genzouw/test_repo_public'.

コマンドラインから 非公開リポジトリを作成

# 検証用ディレクトリを作成
$ mkdir /tmp/work/test_repo_private
$ cd /tmp/work/test_repo_private

# Git初期化
$ git init
Initialized empty Git repository in /private/tmp/work/test_repo_private/.git/

# テストファイルを作成
$ echo ひこうかいりぽじとりてすと > README
$ git add README

# Gitコミット
$ git commit -m "first commit."
[master (root-commit) 6c203b6] first commit.
 1 file changed, 1 insertion(+)
 create mode 100644 README

# hubコマンドを使ってリポジトリ作成( -pオプションをつけると、非公開リポジトリが作成される )
$ hub create -po

# Gitプッシュが成功
$ git push
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Writing objects: 100% (3/3), 239 bytes | 239.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:genzouw/test_repo_private.git
 * [new branch]      master -> master

以上