はじめに
はじめまして、youtuber系エンジニアのやっすんです!
GitHub CLIが正式リリースされたので、実際に触れ、便利なところをまとめました!
同内容はYoutubeでも説明してるので、ぜひチェックください!
GitHub CLIとは
GitHub CLIはGitHub公式のコマンドラインツールです。
対話的にレポジトリやPR, issueを作成できます!
その際 .gitファイルのあるローカルのディレクトリで、コマンドを実行します。
元はhubから派生したプロジェクトのghがGitHub CLIとなったため、hubを使っている人は移行する意義を感じないかもしれません。
hubを使ってる人向けにも、違いを説明します!
GitHub CLI vs Hub
大きくは以下の表のような違いがあります。
GitHub CLIは、GitHub公式のプロジェクトなので、今後もメンテナンスや機能追加を期待できます。
対して、Hubは開発者のミスラフさんがGitHub CLIに移行したため、今後どうなるか不明です。
ただ、GitHub CLIと比べフォーマットが豊富で、PR一覧時にPRのURLも表示できます! (GitHub CLIではできない...)
GitHub CLIやHubの誕生秘話やミスラフさんの複雑な心境など The past and the future of hub に詳しく書かれているので、興味のある方はぜひ読んでみてください。
GitHub CLI | Hub |
---|---|
公式 | 非公式 |
対話的にPRやIssueが作れる | フォーマットが豊富 |
[参考]
https://mislav.net/2020/01/github-cli
インストールと主なコマンド
brewをインストールできる環境の場合、以下で一発です。
$ brew install gh
$ gh --version
gh version 1.0.0 (2020-09-16)
https://github.com/cli/cli/releases/tag/v1.0.0
PR/Issueのリスト表示
ghコマンドでは、pr/issue/repoの後にコマンドを入力し、実行します。
-lオプションでラベル名でフィルタリング、-aで割り当てられたユーザー名でフィルタリングできます!
$ gh pr list -l <ラベル名>
$ gh pr issue list -a <ユーザー名>
PRのチェックアウト
リモートにfeature/hogeというPRがあるとします。
ghでは、listコマンドでPRの番号を確認した後に、以下を実行しチェックアウトできます。
$ gh pr checkout <番号>
ちなみに、ghを使わない場合は次のようになります。
ghだと楽ですね。
$ git fetch
$ git checkout -b <適当なブランチ名> remtoes/origin/feature/hoge
リポジトリのクローン
hubの目的の1つにクローンの簡略化があったそうです。
GitHub CLIにも引き継がれています。
# ghを使う場合
$ gh repo clone <owner>/hoge.git
# ghを使わない場合
$ git clone git@github.com:<owner>/hoge.git
PR/Issue/Repoの作成
GitHub CLIはGitHub APIの機能を使えるため、PR作成もできます!
しかも対話的に簡単に作ることができます。
# リポジトリ作成
$ gh repo create
# PR作成
$ gh pr create
# Issue作成
$ gh issue create
他にも便利そうなコマンドがあります。
公式Documentは大変読みやすいので、気になる方は読んでみてください。
まとめ
今回GitHub CLIについて紹介しました。
もう少し説明して欲しいところや、こういう使い方便利だよという意見があれば、コメントください!