実行時の環境
- 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 ghLinuxに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-forgeghコマンドの使い始め方
まずは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
プルリクの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 checkoutgh 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 54GitHub 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はぜひ取り入れてみて下さい。





