フリーキーズ | 独学プログラミング

GitHub CLIインストールと覚えるべきghコマンド集

最終更新日
【画像】GitHub CLIインストールと覚えるべきghコマンド集
実行時の環境

OS macOS 13.5.1

GitHub CLI 2.33.0

Git 2.42.0

Github CLIを使ったことはあるでしょうか。ターミナルなどでghを使うコマンドです。
ghはコマンドライン上のGitHubです。PullRequestやIssue、その他のGitHubの機能を、gitやコードを操作しているターミナルで利用可能にします。

チーム開発だけでなく、個人開発でも日常的に使うGitHubを、より快適にできるのでかなりおすすめです。
このコンテンツでは、便利なGitHub CLIの中でも頻繁に使うであろうコマンドをご紹介します。

Github CLIとは

GitHub CLI(ghコマンド)はターミナルやコードから使えるコマンドラインインターフェイスです。
GitHubのWebサービスを介さずGitHubを操作できるツールという覚え方でOKです。

まずはインストールしましょう。

macOSにGitHub CLIインストール

macOSではHomebrew、MacPorts、Conda、Spackのいずれかでインストール可能です。

$ brew install gh
$ sudo port install gh
$ conda install gh --channel conda-forge
$ spack install gh

LinuxにGitHub CLIインストール

LinuxではRPMレポジトリが用意されています。以下はUbuntuやDebianなど、aptパッケージ管理が可能なOSのインストール例です。

$ type -p curl >/dev/null || (sudo apt update && sudo apt install curl -y)
$ curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
&& sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
&& echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/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

その他のOSは以下リンクより参照してください。

WindowsにGitHub CLIインストール

WindowsではWinGet、scoop、Chocolatey、Condaでインストールできます。

$ winget install --id GitHub.cli
$ scoop install gh
$ choco install gh
$ conda install gh --channel conda-forge

ghコマンドの使い始め方

まずはGitHubへログインしましょう。

gh auth login

ログインが完了したら、自分が使いやすいエディタを設定しておきましょう。(以下はemacsを選んだ例)

gh config set editor emacs

絶対に覚えるべきghコマンド集

以下は、頻繁に使う機会があるコマンドです。よく行う動作をマウスを使わず実行できるため便利です。

ブラウザでGitHubリポジトリを開くgh browse

自身がGitHubでリポジトリ管理しているディレクトリでgh browseを実行すると、該当のリポジトリをWebブラウザで開けます。

gh browse

なお、ghコマンドは共通で、Gitリポジトリのないディレクトリでこのコマンドを実行すると、以下のようなエラーが出ます。

$ gh browse
unable to determine base repository: failed to run git: fatal: not a git repository (or any of the parent directories): .git

プルリク一覧を表示するgh pr list

PullRequestの一覧を表示できるgh pr listも、コードレビューを頻繁に行うエンジニアであれば便利です。

gh pr list
gh pr list実行例

gh pr list実行例

プルリクのCI状況を見るgh pr checks

コードをビルドしたり、デプロイする際にCIの状況を確認したいときはgh pr checksが便利です。
--watchオプションをつけると完了まで監視できます。

gh pr checks [pr listの番号 or PRのURL or ブランチ名] --watch

覚えることをおすすめするghコマンド集

以下のコマンドはghコマンドに慣れてきたら覚えておくと便利なコマンド集です。
作業の時短に貢献します。

プルリクを作成するgh pr create

PullRequestを作成するgh pr createは、オプションを使いこなすと便利なコマンドです。(オプションなしだと結局ブラウザ作業ですることが増えます)

gh pr create -a @me -d -l ラベル名 -t 'Bug fix' -w

上記コマンドのオプション説明は以下です。

  • -a / --assignee: アサインする対象(@meで自分)
  • -d / --draft: 下書きとして作成
  • -l / --label: ラベル名指定
  • -t / --title: PullRequestタイトル
  • -w / --web: 作成したPullRequestをブラウザで開く

git checkoutを効率化するgh pr checkout

PullRequestをcheckoutして動作確認をする際に、pullしてcheckoutの手間を削減するgh pr checkoutです。
このコマンドは唯一エイリアスがデフォルトで存在しているため、gh coコマンドでも実行可能です。

$ gh alias list
co: pr checkout

gh pr listの番号、PullRequestのURL、ブランチ名指定でcheckoutできます。

$ gh pr list

Showing 3 of 3 open pull requests in my/repo

#56  Bug Fix in /api hoge about 2 days ago
#54  New Function in /app huga about 3 days ago
#53  Write Doc in / ponyo about 4 days ago

$ gh co 54

GitHub Actionsを監視するgh run watch

gh pr checksといくらかかぶりますが、こちらはGitHub Actionsのワークフローを監視するgh run watchコマンドです。
時間がかかるワークフローの完了を待つ間に便利です。

例として、macOSで使えるterminal-notifierを使って完了をポップアップ通知する方法を記載します。

$ gh run list # これで実行タスクのIDを入手
$ gh run watch && terminal-notifier -message "GitHub Actions完了"

時短大好きエンジニアはGitHub CLIを使おう

他にもたくさんのghコマンドがありますが、一旦上記を覚えるだけでもかなり手間が削減できます。
エンジニアにとって、ブラウザをクリックする作業を減らすことはストレス削減にもつながります。

いつも行っている作業を少しでも改善するためにGitHub CLIはぜひ取り入れてみて下さい。

関連するコンテンツ