GitHub CLI の概要
GitHub CLI は、コンピューターのコマンド ラインから GitHub を使用するためのオープン ソース ツールです。 コマンドラインから作業しているときは、GitHub CLI を使用して時間を節約し、コンテキストの切り替えを回避できます。
前提条件
-
macOS、Windows、または Linux に GitHub CLI をインストールします。 詳細については、GitHub CLI リポジトリ内でのインストールを参照してください。
-
GitHub に対して認証を行うには、ターミナルから次のコマンドを実行します。
gh auth login -
認証を行う場所を選びます。
- GitHub にある GitHub.com にアクセスする場合は、[GitHub.com] を選びます。
- 別のドメインにある GitHub にアクセスする場合は、[Other] を選んでから、ホスト名を入力します (例:
octocorp.ghe.com)。
-
画面上の残りのプロンプトに従います。
GitHub CLI は、Git 操作の優先プロトコルとして HTTPS を選択すると自動的に Git 資格情報を格納し、GitHub 資格情報で Git に対して認証するかどうかを尋ねるプロンプトに対して "はい" と答えます。 これは、別の資格情報マネージャーを設定したり、SSH を使用したりすることなく、
git push、git pullなどの Git コマンドを使用できるので便利です。
いくつかの便利なコマンド
メモ
一部のコマンド (gh codespace SUBCOMMAND など) では、初めて使うときに認証トークンにさらにスコープを追加するよう求められます。 画面の指示に従います。
状態の表示
gh status を入力すると、サブスクライブしているすべてのリポジトリにわたる GitHub に関する現在の作業の詳細を確認できます。
リポジトリの表示
gh repo view OWNER/REPO と入力すると、リポジトリの説明と README.md が表示されます。
gh repo view OWNER/REPO --web と入力すると、既定のブラウザーでリポジトリが表示されます。
repoにリモートがあるローカル Git リポジトリのディレクトリ内から GitHub サブコマンドを実行する場合は、OWNER/REPOを省略できます。
リポジトリをクローンする
「gh repo clone OWNER/REPO」と入力します。 たとえば、gh repo clone octo-org/octo-repo では、ローカル コンピューターでこのコマンドを実行したディレクトリに octo-org/octo-repo リポジトリが複製されます。
リポジトリを作成する
gh repo create と入力して画面の指示に従います。
GitHubに新しい空のリポジトリを作成し、必要に応じてローカルに複製できます。 または、既存のローカル リポジトリを GitHubにプッシュし、必要に応じてローカル リポジトリのリモートとして設定することもできます。 ローカル ディレクトリを Git リポジトリとして設定する方法については、「ローカルでホストされているコードを GitHub に追加する」を参照してください。
問題の操作
gh issue list --repo OWNER/REPO と入力すると、指定したリポジトリで現在未解決となっている、最近作成された問題が一覧表示されます。
issueにリモートがあるローカル Git リポジトリのディレクトリ内から GitHub サブコマンドを実行する場合は、--repo OWNER/REPOを省略できます。 たとえば、このリポジトリで自分に割り当てられている問題を一覧表示する場合は gh issue list --assignee "@me"、ユーザー "monalisa" が作成した問題を一覧表示するには gh issue list --author monalisa と入力します。
新しい問題の作成、課題の作成 の参照、または問題の検索については、「Issue及びPull Requestのフィルタリングと検索」を参照してください。
pull request の操作
gh pr list --repo OWNER/REPO と入力すると、指定したリポジトリで現在未解決となっている、最近作成された pull request が一覧表示されます。
prにリモートがあるローカル Git リポジトリのディレクトリ内から GitHub サブコマンドを実行する場合は、--repo OWNER/REPOを省略できます。 たとえば、gh pr list --author "@me" と入力すると、このリポジトリで作成した未解決の pull request が一覧表示されます。
gh pr list --label LABEL-NAME と入力すると、特定のラベルが付いた未解決の pull request が一覧表示されます。
gh search prs --review-requested=@me --state=open と入力すると、確認を求められている pull request が一覧表示されます。
pull request を作成するには、gh pr create と入力して画面の指示に従います。 詳しくは、「pull request の作成」をご覧ください。
codespace の操作
新しい codespace を作成するには、gh codespace create と入力して画面の指示に従います。
既存の codespace を表示するには、gh codespace list と入力します。 Web バージョンの VS Code でコードスペースを開くには、「 gh codespace code -w 」と入力し、コードスペースを選択します。
これらすべてのコマンドで cs を codespace に置き換えることができます。
ヘルプの表示
使用できるトップレベルのGitHub CLIコマンドを確認するには、ghを入力します。 たとえば、issue、pr、repo などです。
各コマンドと各補助サブコマンドに対して、--help フラグを追加してその使用方法を確認できます。 たとえば、gh issue --help または gh issue create --help です。
カスタマイズ GitHub CLI
構成設定を変更し、エイリアスまたは拡張機能を追加して、 GitHub CLI が最適な方法で動作するようにすることができます。
-
gh config set SUBCOMMANDSを入力して GitHub CLI の設定を行い、SUBCOMMANDSを調整したい設定に置き換えます。たとえば、 GitHub CLI コマンドでテキストを編集する必要がある場合に使用するテキスト エディターを指定できます。たとえば、作成する新しい問題の本文テキストを追加する場合などです。 希望するテキスト エディターをVisual Studio Codeに設定するには、
gh config set editor "code -w"と入力します。 この例の-w(または--wait) フラグを指定すると、コマンドは、ターミナルで次の手順に進む前に、 Visual Studio Code でファイルが閉じられるのを待機します。詳細については、「
gh config setを参照してください。 -
よく実行するコマンドのエイリアスを定義します。 たとえば、
gh alias set prd "pr create --draft"を実行した場合、gh prdを実行すると、下書きのプルリクエストをすばやく開くことができるようになります。 詳細については、「gh aliasを参照してください。 -
GitHub CLI拡張機能を使用してカスタム コマンドを作成または追加します。 詳細については、「GitHub CLI 拡張機能の使用 および GitHub CLI 拡張機能の作成 を参照してください。
複数のアカウントで GitHub CLI を使用する
GitHubなど、同じGitHub.com プラットフォームに複数のアカウントがある場合は、それぞれを認証し、gh auth switch コマンドを使用して切り替えることができます。
マニュアルの GitHub CLIを参照してください。
GitHub CLI を、GitHub 上の個人用アカウントや GitHub.com 上の マネージド ユーザー アカウント など、複数の GHE.com プラットフォームで使用する必要がある場合は、GitHub プラットフォーム間での GitHub CLI の使用を参照してください。