GitHub CLI とは、利用しているターミナルでGitHubを使用できるようにするものです。コンテキストの切り替え回数が減るため、これまで以上に作業そのものに集中でき、スクリプトの記述や独自のワークフローの作成が、さらに簡素化されます。今年、GitHub CLIのベータ版をリリースした後、200,000件近くのPull Request の作成、350,000件以上の Merge の実行、20,000件以上の Issue が作成されました。多くの思慮深いご意見をいただけたことで、 GitHub CLI がベータ期間を終了し、 Windows、Mac OS、Linux 向けにダウンロードが可能になりました。
GitHub CLI 1.0 の内容は下記の通りです。
- Issue からリリースまで、GitHub上のワークフローのすべてが、ターミナルから実行可能になります。
- GitHub API を呼び出し、ほぼあらゆるアクションのスクリプト記述だけでなくコマンドにカスタムエイリアスを設定することができます。
- GitHub.com だけでなく、GitHub Enterprise Server にも接続が可能になります。
Issue作成 からリリースまで
GitHub CLI は、GitHubワークフローの全段階で使用できます。
gh repo clone owner/repoコマンドを使用し、作業対象レポジトリのクローンを作成することができます。gh issue statusまたはgh issue list --assignee billygriffinコマンドを使用し、次に行うべき作業を探すことができます。

- 機能追加やバグ修正後、
gh pr createコマンドを使い、GitHub上にPull Requestを作成することができます。

gh pr checkout 1337コマンドは、チームメイトによるPull Requestのチェックアウトを許可します。gh pr diffコマンドは、チームメイトによる差分の閲覧を許可します。gh pr reviewコマンドを使えば、チームメイトが簡単にレビューを提供することも可能になります。

- Pull Requestが承認されたら、
gh pr checksコマンドで、すべてのテストに合格していることを確認することができます。その後、gh pr mergeコマンドを使い、お使いのターミナルから直接 Merge することができます。Merge した後、ローカルや GitHub.comにあるブランチの削除も提案されます。

- 次のリリース要素を切り取る準備が整ったら、
gh release create [タグ名]コマンドを使用し、コマンドラインから離れる必要もなく、世界に向けて成果物を配信できます!
エイリアスと gh api で GitHub CLI を使ってみる
GitHub CLIでは、gh alias setを使って任意のコマンドのエイリアスを作成できるようになりました。また、強力な gh api により GitHub API に直接アクセスすることができるので、gh でできることに制限はありません。コマンドも簡単に作成できます。
ヒント: エイリアスを gist と共有するには、gh alias list | gh gist create を使ってください。
GitHub CLI が GitHub Enterprise Server に対応
最後に、GitHub CLI が GitHub Enterprise Server 2.20 以降にホストされるレポジトリに対応しました。これは、ベータ版を発表してから最も意見が多かったリクエストです。今回の対応によって、GitHub CLI を使える GitHub Enterprise Server ユーザーがさらに増えることを非常に嬉しく思っています。
コミュニティの協力が不可欠
コミュニティの存在は、GitHub においてあらゆる活動の中心に位置づけられています。GitHub のオープンソースのレポジトリには、下記を含む80以上のコミュニティコントリビューターからの貢献によって支えられています。
- IssueとPull Requestの画面にmetadataを追加 (@doi-t!、ありがとうございます)
- ブランクのテンプレートを選択可能に(@AliabbasMerchant!、ありがとうございます)
- ユーザーであるmilestone, mentioned や author によるIssueのフィルタリング(@eddumelendez!、ありがとうございます)
- 他のcreate commandへの repo createのアライニング(@ShubhankarKG!、ありがとうございます)
ベータ期間中に皆さまから寄せられたご意見に基づき、以下の機能をリリースしました。
- レポジトリの作成と閲覧
- SSHや任意のエディタを利用するためのGitHub CLIの設定
- Issue、Pull Request、Close、Reopen、ラベルや担当者の追加
- Pull Request の差分閲覧、Review および Merge
GitHub CLI を向上させるためのご協力に感謝するとともに、今後の進化を楽しみにしています。Issueの編集、Pull Requestのサポート、コメントの追加など、GitHub CLIの将来のバージョンでは、もっと多数の機能の追加を予定しています。 これまでにいただいた皆さまからの素晴らしいアイデアとコラボレーションに感謝します。今後も、皆さまからの継続的なフィードバックと貢献に期待しています。