柴ブログ

プログラミング奮闘記

GitHub CLIを使ってみる

はじめに

先日GitHub CLIが正式版としてリリースされたので早速使ってみました。

cli.github.com

github.blog

セットアップ

インストール(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で操作する部分とうまく使い分けて行くと開発の効率が上がりそうです。

少しずつ使って慣れていこうと思います。

参考