GitHub CLIを使ってみる
はじめに
先日GitHub CLIが正式版としてリリースされたので早速使ってみました。
セットアップ
インストール(MacOS)
$ brew install gh
認証
$ gh auth login ? What account do you want to log into? [Use arrows to move, type to filter] > GitHub.com GitHub Enterprise Server ? How would you like to authenticate? [Use arrows to move, type to filter] > Login with a web browser Paste an authentication token ? Choose default git protocol [Use arrows to move, type to filter] HTTPS > SSH
認証が完了するとコマンドライン上でgh
コマンドが使用できるようになる。
主に使いそうなコマンド
PR作成
作業ブランチでの変更をコミットし、以下のコマンドを実行。
$ gh pr create
すると対話形式でPRのタイトルや内容を記述でき、PR作成ができる。
PRのCIの状況を確認
指定したPR一つのみの状況を確認できる。
$ gh pr checks [flags]
例)
$ gh pr checks 1897 All checks were successful 0 failing, 1 successful, and 0 pending checks ✓ workflow 20m4s https://circleci.com/workflow-run/01170...
プロジェクトのPRのリスト
$ gh pr list
PRの状態を確認
$ gh pr status [flags]
例)現在開発に参加しているブートキャンプアプリでの作業
$ gh pr status Relevant pull requests in fjordllc/bootcamp Current branch #1897 メンションの通知メール内に、メンションが含まれ... [fix_mailer] ✓ Checks passing + Changes requested Created by you #1897 メンションの通知メール内に、メンションが含まれ... [fix_mailer] ✓ Checks passing + Changes requested #1886 質問作成ページに「上手な質問のしかたについて」... [add_link_on_question] ✓ Checks passing Requesting a code review from you You have no pull requests to review
PRをマージ
$ gh pr merge [<number> | <url> | <branch>] [flags]
オプションを付けずに指定したPRをマージすると、対話形式でそのブランチをどうするか聞かれる。
Issueを作成
$ gh issue create
実行すると対話形式でissueタイトルや内容を記述できる。
Issueを表示
現在開発に参加しているブートキャンプアプリを例に実行結果を一部抜粋。
$ gh issue list Showing 30 of 226 open issues in fjordllc/bootcamp #1900 提出物をWIP状態から提出すると... (バグ) about 22 hours ago #1899 プラクティス「着手」状態から提... (バグ) about 22 hours ago #1894 涙マークの日報が2回続いた場合... (新機能) about 1 day ago
Issueをクローズ
$ gh issue close {<number> | <url>} [flags]
所感
ブラウザを開かずGitHub上での操作をできるのはとても便利に思いました。
ブラウザで操作する部分と、CLIで操作する部分とうまく使い分けて行くと開発の効率が上がりそうです。
少しずつ使って慣れていこうと思います。