GitHub CLIで開発ワークフローを効率化する

に公開

GitHubは、ソフトウェア共同開発に不可欠なプラットフォームです。その中でも、GitHub CLIは、開発ワークフローを効率化する強力なツールとして注目されています。GitHub CLIを活用すれば、リポジトリ管理からイシュートラッキングまで、日々の作業を大幅にスピードアップできます。

この記事では、生産性を向上させるために役立つ、選りすぐりのGitHub CLIコマンドをご紹介します。

GitHub CLIとは?

GitHub CLIは、ターミナルからGitHubを操作するためのコマンドラインツールです。GitHubのWeb機能をローカル環境に拡張し、プルリクエスト、イシュー、リポジトリなどをコンテキストスイッチなしで扱えます。この直接的なインタラクションは、特にコマンドラインを好む開発者にとって、効率を大きく向上させます。

GitHub CLIのセットアップ

コマンドを試す前に、GitHub CLIがインストールされていることを確認してください。まだの場合は、GitHub CLIの公式リポジトリからお使いのOSに合わせた手順でインストールできます。

インストール後、以下のコマンドでセッションを認証します。

gh auth login

これだけは押さえたい!必須GitHub CLIコマンド

リポジトリをクローンする

既存のリポジトリをローカルに持ってくることから始めましょう。

gh repo clone OWNER/REPOSITORY

例えば、cli/cli リポジトリをクローンする場合は以下のようになります。

gh repo clone cli/cli

<OWNER/REPOSITORY> の部分を目的のリポジトリパスに置き換えてください。このコマンドはシンプルですが、他のCLIワークフローとの連携において時間を節約できます。

新しいリポジトリを作成する

ターミナルから離れずに新しいプロジェクトを始めましょう。このコマンドは、新しいリポジトリを作るだけなく、既存のローカルディレクトリをGitHubリポジトリとして初期化し、適切なリモートリンクを設定することもできます。対話形式で設定を進められます。

gh repo create
# ? What would you like to do?
# ? Repository name
# ? Repository owner
# ? Description
# ? Visibility
# ? Would you like to add a README file? (y/N)
# ? Would you like to add a .gitignore? (y/N)
# ? Would you like to add a license?
# ? This will create "tet" as a public repository on github.com. Continue? (Y/n)
# ? Clone the new repository locally? (Y/n)

プルリクエストを一覧表示&チェックアウト

現在のリポジトリでオープンなプルリクエストを一覧表示します。

gh pr list

特定のプルリクエストを新しいブランチにチェックアウトすることもできます。

gh pr checkout <pr-number>

この機能は、コマンドラインから直接コードレビューを行ったり、プルリクエストを管理したりする際に特に便利です。

プルリクエストを作成する

変更を加えてブランチをプッシュした後、簡単にプルリクエストを作成できます。

gh pr create

このコマンドを実行すると、対話形式でベースブランチ、タイトル、本文などを設定できます。オプションで直接指定することも可能です。

gh pr create --base main --head your-branch-name --title "新しい機能の追加" --body "詳細はこちら"

レビュー担当者やラベルなどもコマンドプロンプトから直接指定できます。

イシューを管理する

新しいイシューを作成します。

gh issue create

対話形式でタイトル、本文、担当者、ラベル、プロジェクトなどを追加できます。同様に、イシューを一覧表示したり、フィルタリングしたりできます。

gh issue list --label "bug" --assignee <username>

これらのコマンドにより、迅速なイシュー管理が可能になり、チームのコミュニケーションが円滑になります。

リポジトリをブラウザで開く

リポジトリの概要を素早く確認したい場合に便利です。

gh repo view --web

これにより、デフォルトのウェブブラウザでリポジトリのページが開き、CLIでの操作と詳細なウェブビューをスムーズに連携できます。

GitHub CLIを最大限に活用するためのコツ

  • コマンドを組み合わせる: GitHub CLIは、grep などのUnix系コマンドラインツールとパイプで組み合わせることで、リスト出力をフィルタリングするなど、さらに強力になります。
  • フォークとクローンを一度に行う: CLIから直接リポジトリをフォークし、そのままクローンまで一気に行えます。
gh repo fork <repository-name> --clone
  • フォークしたリポジトリを同期する: フォークしたリポジトリをオリジナルと最新の状態に保ちます。
gh repo sync OWNER/REPOSITORY
  • エイリアスを活用する: よく使うコマンドは、シェルのエイリアスとして設定することで、入力の手間を省き、ワークフローを高速化できます(例: alias gprc='gh pr create')。また、gh aliasで、GitHub CLIのエイアスを設定することもできます。
  • シェルスクリプトを書く: GitHub CLIコマンドのシーケンスをスクリプト化することで、繰り返し行う作業を自動化できます。

感想

最近、GitHub CLIを使い始めたのですが、個人的に良く使うコマンドはgh pr checkout <pr-number>です。自分が書いたPRのブランチをチェックアウトしたり、他のエンジニアが書いたPRをレビューする際に使用することが多いです。

GitHub CLIは2020年にリリースされました。AIがエンジニアに浸透する前から存在しているツールでした。GitHub CLI単体でも便利ですが、AIで開発する際は昨今流行りのMCPサーバー(GitHub MCPサーバー)があるので、そちらを今後試して、開発効率をさらに爆速化したいです🚀。

まとめ

GitHub CLIは、効果的に使用することで生産性を向上させることができる多機能なツールです。これらのコマンドを日常業務に取り入れることで、一般的なタスクのオーバーヘッドを削減し、ナビゲーションに費やす時間を減らして、よりコーディングに集中できるようになります。

プルリクエストの迅速な確認から、効率的なイシュー管理まで、GitHub CLIはペースの速い開発環境において不可欠な存在です。ぜひこれらのコマンドを活用し、あなたのGitHubワークフローがどのように変わるか体験してみてください!

参考リンク

https://cli.github.com/
https://cli.github.com/manual/

Progate Tech Blog

Discussion