GitHubのcli(コマンドラインインタフェース)についてまとめています。
GitHubのCLI、ghコマンド
GitHubを操作するCLIとして、ghコマンドが用意されています。gitコマンドと違って、githubのウェブページ上でしか操作できないプルリクエストやissue、actionなどの管理が可能です。Web画面を開かずにターミナル内で作業が完結するのが魅力です。
ghコマンドは、githubにて公開されています。
ghコマンドのインストール
インストール方法は以下の通り。
$ curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /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 ヒット:1 http://jp.archive.ubuntu.com/ubuntu bionic InRelease 取得:2 http://jp.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] 取得:3 http://jp.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] : : $ sudo apt install gh パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 : :
【関連記事】
▶GitHubへのLogin方法 CLIツールを使ってパスワードなしでGit操作可能
ghコマンドを最初に実行したとき、githubアカウントと連携するために認証が必要です。
$ gh repo view Notice: authentication required Press Enter to open github.com in your browser
Enterキーを押すとブラウザが開き認証をもとめられます。認証が完了すると、ghコマンドを実行可能になります。以下は、google/material-design-iconsをgit cloneしたあとにgh repo viewを実行した例です。リポジトリの詳細とREADMEを表示します。
$ gh repo view google/material-design-icons Material Design icons by Google ## Material design icons Material design icons is the official icon set from Google. They can be : :
ghコマンドでは、ghに続けて操作対象を指定します。リポジトリやイシューの操作が可能です。
- gh repo リポジトリの操作
- gh issue イシューの操作
- gh pr プルリクエストの操作
- gh gist gistサービスの操作
- gh actions actionの操作
イシューの操作を行ってみましょう。以下は、イシューの一覧を表示するコマンドです。
$ gh issue list Showing 30 of 324 open issues in google/material-design-icons #1196 Include icon metadata in this repo about 15 hours ago #1195 Standard Icons for Water Quality (pH, EC, ORP... about 1 day ago #1194 Handshake icon about 1 day ago #1193 post_add icon doesn't appear properly about 6 days ago #1192 Touch gestures about 19 days ago #1191 Spiritual Icon about 20 days ago #1190 Bug with icons name about 21 days ago #1189 How to define specific version on link about 29 days ago
【関連記事】
▶GitHubの使い方 アカウントの登録方法と、gitコマンド、ghコマンドの使用例
イシューの操作では、以下のコマンドが使用可能です。gh issueのみ入力してEnterキーを押すと、使用可能なコマンド一覧と使用例が表示されます。
close: イシューをクローズ
comment: イシューのコメントを作成
create: 新しくイシューを作成
delete: イシューを削除
edit: イシューを編集
list: イシューの一覧とフィルタリング
reopen: イシューを開き直す
status: 関連するイシューのステータスを表示
transfer: イシューを別のリポジトリに変換
view: イシューを閲覧
gh prはプルリクエストに関する操作を行うコマンドです。gh pr statusで、プルリクエストのステータスが表示されます。
$ gh pr status Relevant pull requests in google/material-design-icons Current branch There is no pull request associated with [master] Created by you You have no open pull requests Requesting a code review from you You have no pull requests to review
まとめ
- GitHubのCLI(コマンドラインインタフェース)には、ghコマンドがある
- ghコマンドを使うことで、ウェブブラウザを開かずにgithub関連の作業が可能
- ghコマンドは、gitコマンドで可能な操作に加え、イシューやプルリクエスト、リポジトリ操作ができる