ghコマンドはGitHubが公式に提供するCLIツールです。
ターミナルからIssueの作成や確認、プルリクエスト(PR)レビュー、リポジトリ操作などをブラウザを開かずにCLIで操作することができます。
本記事ではghコマンドの概要と使い方を紹介します。
ghコマンドの概要と使い方を紹介します
- ghコマンドの概要
- ghコマンドの使い方
コマンド概要
ghコマンドはGitHubが公式に提供するCLIツールです。
GitHubでは、ソースコードの管理やIssue管理、プルリクエストやレビューをブラウザから行うことができます。
ghコマンドでは、ターミナル上から、GitHubの操作を行うことができます。
コマンドオプション
頻繁に使用するコマンドオプションを紹介します。
| コマンド | 操作 |
|---|---|
| gh auth status | 認証確認 |
| gh repo create [リポジトリ名] | リポジトリ作成 |
| gh issue create | Issue作成 |
| gh issue list | Issue一覧 |
| gh issue close [Issue番号] | Issueクローズ |
| gh pr create | PR作成 |
| gh pr list | PR一覧 |
| gh pr merge [PR番号] | PRマージ |
| gh repo view –web | ブラウザで開く |
コマンドの使い方
ghコマンドの使い方を紹介します。
ghコマンドをインストール
ghコマンドをインストールします。
コマンドライン
sudo apt install ghコマンド実行例
$ sudo apt install gh
[sudo] password for user:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following NEW packages will be installed:
gh
0 upgraded, 1 newly installed, 0 to remove and 50 not upgraded.
Need to get 5557 kB of archives.
After this operation, 33.1 MB of additional disk space will be used.
Get:1 http://ports.ubuntu.com jammy/universe arm64 gh arm64 2.4.0+dfsg1-2 [5557 kB]
Fetched 5557 kB in 5s (1214 kB/s)
Selecting previously unselected package gh.
(Reading database ... 234237 files and directories currently installed.)
Preparing to unpack .../gh_2.4.0+dfsg1-2_arm64.deb ...
Unpacking gh (2.4.0+dfsg1-2) ...
Setting up gh (2.4.0+dfsg1-2) ...
Processing triggers for man-db (2.10.2-1) ...認証
ghコマンドで認証します。
対話形式でGitHub.comへのログインを求められます。
ブラウザ経由またはトークンで認証できます。
認証コマンドを実行
ghコマンドで認証を実行します。
コマンドライン
gh auth loginコマンド実行例
$ gh auth login
? What account do you want to log into? [Use arrows to move, type to filter]
> GitHub.com
GitHub Enterprise Serverプロトコルを選択
プロトコルを選択します。
コマンド実行例
? What is your preferred protocol for Git operations? [Use arrows to move, type to filter]
> HTTPS
SSHGitとGitHubの連携を選択
GitとGitHubの連携を選択します。
コマンド実行例
? Authenticate Git with your GitHub credentials? (Y/n) Yログイン方法を選択
ログイン方法を選択します。
コマンド実行例
? How would you like to authenticate GitHub CLI? [Use arrows to move, type to filter]
> Login with a web browser
Paste an authentication tokenワンタイムパスワードをコピー
ワンタイムパスワードをコピーします。
コマンド実行例
! First copy your one-time code: XXXX-XXXX
- Press Enter to open github.com in your browser... ブラウザでログイン
ブラウザでログインします。
ブラウザ画面


ワンタイムパスワードを入力
ワンタイムパスワードを入力します。
ブラウザ画面


アクセス権限を確認
アクセス権限を確認します。
ブラウザ画面


認証
認証します。
ブラウザ画面


認証完了をブラウザで確認
認証完了をブラウザで確認します。
ブラウザ画面


認証完了をターミナルで確認
認証完了をターミナルで確認します。
コマンド実行例
✓ Authentication complete. Press Enter to continue...認証内容をターミナルで確認
認証内容をターミナルで確認します。
コマンド実行例
- gh config set -h github.com git_protocol https
✓ Configured git protocol
✓ Logged in as yasuhira-tanuki認証状態を確認
ghコマンドの認証状態を確認
コマンドライン
gh auth statusコマンド実行例 (認証なし)
$ gh auth status
You are not logged into any GitHub hosts. Run gh auth login to authenticate.コマンド実行例 (認証あり)
$ gh auth status
github.com
✓ Logged in to github.com as yasuhira-tanuki (/home/user/.config/gh/hosts.yml)
✓ Git operations for github.com configured to use https protocol.
✓ Token: *******************リポジトリの操作
リポジトリの操作を紹介します。
パブリックリポジトリを作成
パブリックリポジトリを作成します。
コマンドライン
gh repo create [リポジトリ名] --publicプライベートリポジトリを作成
プライベートリポジトリを作成します。
コマンドライン
gh repo create [リポジトリ名] --privateリポジトリのクローン
リポジトリのクローンを作成します。
コマンドライン
gh repo clone [ユーザー名]/[リポジトリ名]リポジトリをブラウザで開く
リポジトリをブラウザで開きます。
コマンドライン
gh repo view --webIssueの操作
Issueの操作を紹介します。
Issueの作成(対話形式)
対話形式でIssueを作成します。
コマンドライン
gh issue createIssueの作成(タイトル/本文指定)
タイトルと本文を指定してIssueを作成します。
コマンドライン
gh issue create --title "[タイトル]" --body "[本文]"Issueの作成(ラベル付与)
ラベルを付与してIssueを作成します。
コマンドライン
gh issue create --title "[タイトル]" --label "[ラベル]"Issueの一覧表示(オープン中)
オープン中のIssue一覧を表示します。
コマンドライン
gh issue listIssueの一覧表示(ラベル指定)
ラベル指定でIssue一覧を表示します。
コマンドライン
gh issue list --label "[タスク]"Issueの一覧表示(クローズ済み含む)
クローズ済みも含めてIssue一覧を表示します。
コマンドライン
gh issue list --state allIssueの詳細表示
Issueの詳細を表示します。
コマンドライン
gh issue view [Issue ID]Issueのクローズ(コメントなし)
Issueをクローズします。
コマンドライン
gh issue close [Issue ID]Issueのクローズ(コメントあり)
コメントありでIssueをクローズします。
コマンドライン
gh issue close [Issue ID] --comment "[コメント]"Pull Request(PR)の操作
Pull Request(PR)の操作を紹介します。
Pull Request(PR)の作成(対話形式)
対話形式でPull Request(PR)を作成します。
コマンドライン
gh pr createPull Request(PR)の作成(タイトル/本文指定)
タイトル/本文指定でPull Request(PR)を作成します。
コマンドライン
gh pr create --title "[タイトル]" --body "[本文]"Pull Request(PR)の一覧表示
Pull Request(PR)の一覧を表示します。
コマンドライン
gh pr listPull Request(PR)をCLIで確認
Pull Request(PR)をCLIで確認します。
コマンドライン
gh pr view [PR番号]Pull Request(PR)をブラウザで確認
Pull Request(PR)をブラウザで確認します。
コマンドライン
gh pr view [PR番号] --webPull Request(PR)をマージ
Pull Request(PR)をマージします。
コマンドライン
gh pr merge [PR番号]AIエージェントでの利用方法
AIエージェントにGitHub操作を依頼する際にも、ghコマンドが利用できます。
AIエージェントにGitHub操作を依頼する前に、認証が必要になるため、本記事の手順で認証すると利用できるようになります。
プロンプト例
GithubのIssueに、〇〇のタスクを追加してください。まとめ
ghコマンドの概要と使い方を紹介しました。
- GitHubの操作をCLIで実行できる
- 認証が必要
- リポジトリの作成ができる
- Issueの作成/クローズができる
- PRの作成/確認ができる
- マージができる
- AIエージェントから利用することでGitHub操作ができる
ghコマンドを利用することで、ブラウザとターミナルを行き来する手間が減り、開発に集中することができます。
AIエージェントにGitHub操作を依頼する際にも、ghコマンドが利用できます。
AIエージェントにGitHub操作を依頼する前に、認証が必要になるため、本記事の手順で認証すると利用できるようになります。
