Help us understand the problem. What is going on with this article?

GitHub CLI正式リリース! どんなことができるか紹介します!!

はじめに

はじめまして、youtuber系エンジニアのやっすんです!
GitHub CLIが正式リリースされたので、実際に触れ、便利なところをまとめました!

同内容はYoutubeでも説明してるので、ぜひチェックください!

【YouTube動画】GitHub CLI
GitHub CLI

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について紹介しました。
もう少し説明して欲しいところや、こういう使い方便利だよという意見があれば、コメントください!

twitteryoutubeでのコメントもお待ちしています!

yassun-youtube
教育系エンジニアやっすんがエンジニアに役立つTipsを毎日紹介するYouTubeチャンネル「やっすんのエンジニア大学」をやっています。 エンジニアリングに興味のある方全員が知って得するTIPSをお届けしています!
https://www.youtube.com/channel/UCajrdoGzHzDogrNrLYYmGsg/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away