GitHub CLI とは何か
GitHub CLI(gh)は、GitHub が公式に提供するコマンドラインツールです。
ブラウザを開かずに、ターミナルから以下のような操作を行えます。
- Issue・Pull Request の作成・確認・マージ
- リポジトリの作成・クローン
- GitHub Actions の実行・確認
- リリースの管理
「
gitコマンドは使えるが、GitHub の操作はいちいちブラウザを開いている」
という方に特に有用なツールです。
インストール
OS ごとにインストール方法が異なります。
macOS(Homebrew)
brew install gh
Windows(winget)
winget install --id GitHub.cli
または Chocolatey を使う場合:
choco install gh
Linux(Fedora / RHEL 系)
sudo dnf install 'dnf-command(config-manager)'
sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install gh
Linux(Debian / Ubuntu 系)
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg \
| sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architectur---
title: GitHub CLI(gh)を使ってみよう
tags:
- GitHub
- GitHubCLI
- CLI
- Git
- 開発環境
private: false
updated_at: ''
id: null
organization_url_name: null
slide: false
ignorePublish: false
---
# GitHub CLI とは何か
GitHub CLI(`gh`)は、GitHub が公式に提供するコマンドラインツールです。
ブラウザを開かずに、ターミナルから以下のような操作を行えます。
- Issue・Pull Request の作成・確認・マージ
- リポジトリの作成・クローン
- GitHub Actions の実行・確認
- リリースの管理
> 「`git` コマンドは使えるが、GitHub の操作はいちいちブラウザを開いている」
> という方に特に有用なツールです。
---
# インストール
OS ごとにインストール方法が異なります。
## macOS(Homebrew)
```bash
brew install gh
Windows(winget)
winget install --id GitHub.cli
または Chocolatey を使う場合:
choco install gh
Linux(Fedora / RHEL 系)
sudo dnf install 'dnf-command(config-manager)'
sudo dnf config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
sudo dnf install gh
Linux(Debian / Ubuntu 系)
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
&& sudo mkdir -p -m 755 /etc/apt/keyrings \
&& wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg \
| sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null \
&& sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \
| sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
&& sudo apt update \
&& sudo apt install gh -y
インストール確認:
gh --version
# gh version 2.x.x (yyyy-mm-dd)
ログイン(認証)
gh auth login
対話形式で認証方法を選択します。
リポジトリを作ろう
gh repo create <リポジトリ名> --< private | public >
で非公開、公開を選んで作成をすることが可能です。
既存のローカルリポジトリをGitHubに上げる
これは私の良くしていた事なのですが、ローカルだけで作っていた物をGitHubに上げる事をするときに、
GitHubへログイン→新しい空のリポジトリを作成する→ローカルのGitにリモートを登録する→強制的にプッシュする
ローカルリポジトリへの操作だけをコードで表すとこんな感じです。
git remote add origin git@github.com:<UserName>/<作成したリポジトリ名.git
git push -u origin main
こ、工程が多い。
面倒くさがり且つおっちょこちょいな私にはとってもやりづらい事を簡単にすることが出来るようになります。それがこちら!
cd <ローカルリポジトリ>
gh repo create <リポジトリ名> --source=. --remote=origin --push --< private | public >
すっごい楽。私の今までの苦労は何だったの…
他にもリポジトリ自体にタグで区別したりとか、もっと色々な事が--helpを見ると出来るようです。私もまだまだ使いこなせていないので精進していきたいです。e) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main"
| sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
&& sudo apt update
&& sudo apt install gh -y
インストール確認:
```bash
gh --version
# gh version 2.x.x (yyyy-mm-dd)
ログイン(認証)
gh auth login
対話形式で以下を選択します。
- 接続先:
GitHub.comまたは GitHub Enterprise - プロトコル:
HTTPSまたはSSH - 認証方法:ブラウザ(OAuth)または Personal Access Token
ブラウザ認証を選ぶと自動でブラウザが開き、認証後にターミナルへ戻ります。
リポジトリを作ろう
gh repo create <リポジトリ名> --private
# または
gh repo create <リポジトリ名> --public
--private / --public でリポジトリの公開設定を指定します。
既存のローカルリポジトリを GitHub に上げる
以前は次のような手順が必要でした。
- GitHub にブラウザでログイン
- 空のリポジトリを手動作成
- ローカルにリモートを登録
- プッシュ
git remote add origin git@github.com:<UserName>/<リポジトリ名>.git
git push -u origin main
工程が多く、手間がかかります。
gh を使うと、これが一発で済みます。
cd <ローカルリポジトリ>
gh repo create <リポジトリ名> --source=. --remote=origin --push --private
GitHub 上のリポジトリ作成・リモート登録・プッシュがすべて完結します。
他にも --help を見るとタグの設定など多くのオプションがあります。私もまだ使いこなせていないので、引き続き試していきたいと思います。