🦾

GitHub CLIを使ってサクッとリモートリポジトリを作るまで

2024/05/26に公開

インストール

Windowsの場合はWinGetを初め、scoop、Chocolateryなど利用しているパッケージ管理方法でインストールします

wingetの場合

winget install --id GitHub.cli

scoopの場合

scoop install gh

Macの場合

brew install gh

GitHub CLIログインからCLIコマンドでリポジトリ作成まで

GitHubへログイン

ダイアログに従ってログインを進めます

gh auth login

ステータス確認してログイン状態が確認出来たらOKです

gh auth status

GitHub上のリポジトリをCLIから作成

gistやissueなどほとんどの操作が可能ですがここではRepoを扱ってみます
Manual | GitHub CLI

リポジトリの作成

gh repo create [<name>] [flags]

例1 リモートリポジトリだけを対話形式で作成する

gh repo create

例2 リモートにmy-projectをリポジトリを作成しlocalにcloneする:

gh repo create my-project --public --clone

既にローカルにgit initしている場合は、gh repo createからPush an existing local repository to GitHub を選ぶと楽です

ブラウザ開いてポチポチとrepo作成しなくていいのでかなり楽になります。

appendix

CLIからリポジトリをブラウザですぐ開く

gh browse

github上のリポジトリページをブラウザで表示できる

コマンド補完を利用する

gh completionを.bash_profileなどにevalで読み込ませるようにしておくとコマンド補完が使えます。

bashの場合

vim ~/.bash_profile
eval "$(gh completion -s bash)"

を追記して保存し、sourceで読み込む

source ~/.bash_profile

WindowsでPowershellの場合

まずprofileを作成し、

mkdir -Path (Split-Path -Parent $profile) -ErrorAction SilentlyContinue
notepad $profile

Invoke-Expressionでgh completionを読み込みます

Invoke-Expression -Command $(gh completion -s powershell | Out-String)

ターミナル等を再読込後gh r辺りを入力後Tabを押して動作確認しましょう。

GitHub CLIのaliasを利用する

gh aliasでコマンドエイリアスの設定ができます。

現在の設定一覧を確認

gh alias list

エイリアス作成

公式サンプルよりhomeworkで自分にアサインされたissue一覧を表示する例。
homeworkも長いのでissue listを略してilにしてみます。

gh alias set il 'issue list --assignee @me'

同じく自分に割り当てたissueをcreateするicのalias作ってみます

gh alias set ic 'issue create --assignee @me'

gh alias listして作成したaliasが登録されている事を確認します。

確認出来たら

gh [<作成したalias名>]

で使います。

Discussion