Githubで無料アカウントでもPrivateリポジトリ作成が無制限になったのでコマンドで操作するための環境を整える

2022-05-20Git,GitHub

はじめに

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

今まで Bitbucket を利用し横目で Githubユーザいいなぁ と思っていたが、Githubどんどん使っていこうかなと思った次第です。
とはいえ、今まで使っていた 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 -moi
x86_64 MacBookPro10,1 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

# ブラウザでGithubリポジトリページを開く
$ hub browse

想定通り、公開リポジトリは作成できていましたが、いらないので即座に削除。

$ 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

# ブラウザでGithubリポジトリページを開く
$ hub browse

以上

2022-05-20Git,GitHub