「GitHub CLI 1.0」がリリースされたので使ってみた

開発
スポンサーリンク

こんにちは、@yshr10icです。

2020/9/18に「GitHub CLI 1.0」がリリースされました。

ターミナルからGitHubを操作することができるということなので、少し触ってみたいと思います。

GitHub CLI 1.0をリリース - GitHubブログ
GitCLI 1.0をリリース - Issue からリリースまで、GitHub上のワークフローのすべてが、ターミナルから実行可能になります。 - GitHub API を呼び出し、ほぼあらゆるアクションのスクリプト記述だけでなくコマンドにカスタムエイリアスを設定することができます。 - GitHub.com だけ...
スポンサーリンク

前提条件

筆者の環境は以下となります。

  • PC:MacBook Pro(13-inch, 2020, Four Thunderbolt 3 ports)
  • OS:macOS Catalina(バージョン:10.15.6)
  • ターミナル:iTerm2 Build 3.3.12
  • Homebrew:2.5.1
  • Git:2.26.2

ドキュメント

GitHub CLIの情報は以下にまとまっています。

GitHubリポジトリ

cli/cli
GitHub’s official command line tool. Contribute to cli/cli development by creating an account on GitHub.

インストール方法

cli/cli
GitHub’s official command line tool. Contribute to cli/cli development by creating an account on GitHub.

マニュアル

Manual
Take GitHub to the command line

GitHub CLI 1.0のインストール

さっそく、「GitHub CLI 1.0」をインストールしていきたいと思います。

Macの場合、HomebrewまたはMacPortsからインストールすることができます。

今回はHomebrewからインストールしたいと思います。

ターミナルを起動し、以下のコマンドを実行します。

$ brew install gh

コマンドを実行すると、以下のようにインストールが開始されます。

正常にインストールされたか、バージョンを確認してみます。

$ gh --version

正しくインストールできていることが確認できました。

ログイン

続いて、GitHubにログインしたいと思います。

$ gh auth login

とコマンドを打つと、GitHub.comかGitHub Enterprise Serverのどちらにログインするか、聞かれます。

今回は、GitHub.comにログインします。

続いて、ログイン方法について聞かれます。WEBブラウザまたは認証トークンでのログインが選択できます。

今回はWEBブラウザでのログインにします。

ワンタイムパスワードが生成されるので、ワンタイムパスワードをコピーし、Enterボタンを押します。

アクティベーション画面がWEBブラウザに表示されるので、先ほどコピーしたワンタイムパスワードを貼り付け、「Continue」ボタンを押します。

権限を聞かれるので、「Authorize github」ボタンを押します。

パスワードを入力して、「Confirm password」ボタンを押します。

これで、認証に成功です。

ターミナルに戻ってEnterを押すと、デフォルトのGitの接続方法をHTTPSまたはSSHで聞かれます。

今回はSSHを選択します。

これでログインは完了です!

GitHub CLIを使ってみる

リポジトリ操作

まずはテスト用のリポジトリを作成していきたいと思います。

$ gh repo create <repo-name>

今回は、リポジトリ名をgithub-cli-testとし、descriptionも追加しています。

$ gh repo create github-cli-test -d "GitHub CLI 1.0 test repository"

上記コマンドを実行するといくつか選択肢が表示されますが、今回はパブリックリポジトリを選択し、カレントディレクトリにプロジェクトを作成するを選択しました。

しっかりとリポジトリが作成されていますね。

次に作成したリポジトリの情報を見てみたいと思います。

$ gh repo view <repo-name>

先ほどdescriptionで指定した内容が取得できています。ただ、READMEがないよ、というメッセージが出ているので、READMEを作成してもう一度試してみたいと思います。

README.mdの内容が正しく取得できました。

ターミナルの背景色のせいで、見にくくなってしまっていますが、「## 概要」の下にも文章が表示されています。

イシュー操作

続いてイシューを作ってみたいと思います。

$ gh issue create --title "イシュー作成テスト" --body "GitHub CLIからのイシュー作成" --label "bug"

きちんと作成されていますね!

次に作成されたイシューを一覧表示で見てみたいと思います。

$ gh issue list

上記コマンドでデフォルトでは30件までのイシューを一覧で取得することができます。

また、オプションを指定することによって、ラベルでのフィルタや取得件数の変更などをすることができます。

# ラベルがdocumentationのイシューを取得する
$ gh issue list -l documentation

プルリク操作

続いてプルリクを作成していきたいと思います。

プルリクを作成するために、pr-testブランチを作成し、sample.txtを追加しました。

$ gh pr create --base main --title "GitHub CLI プルリクテスト" --body "プルリクのテストです。"

次に作成されたプルリクを一覧表示で見てみたいと思います。

$ gh pr list

まとめ

本記事では、GitHub CLIを使ってリポジトリ操作やイシュー操作、プルリク操作を試してみました。

コマンドは非常に簡単で分かりやすいとは思うものの、イシューやプルリクに関してはコメントなどを複数行書いたりするので、コマンドラインからは操作するのは難しいという印象を受けました。

ただ、何らかの条件によりイシューやプルリクを自動クローズするなど、自動化処理に関してはもしかしたら使えるものになるかもしれないですね。

Git・GitHubに関するおすすめの本やサイト

Git: もう怖くないGit!チーム開発で必要なGitを完全マスター
Gitの基本コマンド、ブランチやマージ、コンフリクトの解消方法、リベース、GitHubを利用した開発フローなど、チーム開発に必要なGitの全てが含まれています。仕組みを図解で理解した上でハンズオンで実践するので、もうGitは怖くありません。

コメント

タイトルとURLをコピーしました