BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 新しいGitHub CLIによってコマンドラインからのイシューとPRの操作が可能に

新しいGitHub CLIによってコマンドラインからのイシューとPRの操作が可能に

原文(投稿日:2020/02/13)へのリンク

GitHubは先頃、GitHub CLIをベータリリースした。コマンドラインからイシュー操作やプルリクエストの可能なオープンソースツールだ。Go言語で記述されており、Linux、macOS、Windowsにインストールすることができる。

GitHub CLIを使用することにより、オープンイシューの一覧と担当者ラベルやステータスによるフィルタリング、プルリクエストの生成、プルリクエストをローカルにチェックアウト、作業ステータスの表示などが可能になる。

例えば、プルリクエストをローカルでチェックアウトするには、次のように実行すればよい。

gh pr checkout <PR-number>

これにより、PRの変更を含んだローカルブランチが生成される。同じように、次のコマンドでプルリクエストの生成を行うことができる。

gh pr create

実行すると、コマンドラインからタイトルと説明の入力を求めた上で、PRがリモートに生成される。別の方法として、フラグを使用してタイトルと説明を指定することも可能だ。

gh issue create -t "Pull request title" -b "Pull request body"

プルリクエスト番号が既知であれば、次のコマンドでそのサマリにアクセスすることができる。

gh issue view <PR-number> --preview

前述のように、イシューやプルリクエストを一覧表示することも可能だ。最も最近のオープンイシューを一覧表示するには、issues listを実行すればよい。このコマンドは、フィルタリングオプションもサポートしている。

gh issue list
gh issues list --label "critical"

プルリクエストの一覧とフィルタリングも同じように可能だ。

gh pr list --state closed --assignee user

GitHub CLIの提供する最後のコマンドはstatusだ。このコマンドは、ブランチの状態やオープン中のプルリクエスト、レビューアとして要求されたプルリクエストなどを表示して、作業のサマリを可視化する。

GitHub CLIはgitコマンドラインツールとの併用を目的するもので、Git専用ワークフローの置き換えのためのものではない。

GitHub CLIより前には非公式のhubツールがあり、コマンドラインベースのGitHubイシューへのアクセスとプルリクエストがすでに提供されていた。ただしhubは、GitHub CLIのアプローチとはまったく違い、gitコマンドをラップした上に、GitHub特有の機能を操作する手段を提供するという方法を採用していた。hubメンテナのMislav Marohnić氏は、自身のhubに関わる開発履歴を詳しく記録しており、その中には将来的なヒントとして、GitHubが自身で公式CLIツールを用意するという現在の状況も記されている。

いつものように、GitHubの発表には開発者コミュニティから多数の反応があった。肯定的な意見と並んで、一部の開発者からは、現在のGitHub CLIに実装されている機能の制限に対する批判もある。例として、リストやフィルタによって返される結果数の制限、イシューとPRデータのローカルレプリカの欠如による動作の遅さ、他のコマンドラインツールと合わせた自動化ワークフローへの組み込みが困難であること、などがある。

この記事に星をつける

おすすめ度
スタイル

BT