Skip to main content

GitHub CLI クイックスタート

GitHub CLI を使用して、コマンド ラインで GitHub を操作します。

GitHub CLI について

GitHub CLI は、コンピューターのコマンド ラインから GitHub を使用するためのオープン ソース ツールです。 コマンドラインから作業しているときは、GitHub CLI を使用して時間を節約し、コンテキストの切り替えを回避できます。

前提条件

  1. macOS、Windows、または Linux に GitHub CLI をインストールします。 詳細については、GitHub CLI リポジトリ内でのインストールを参照してください。

  2. GitHub に対して認証を行うには、ターミナルから次のコマンドを実行します。

    gh auth login
    
  3. 認証を行う場所を選びます。

    • GitHub.com にある GitHub にアクセスする場合は、[GitHub.com] を選びます。
    • 別のドメインにある GitHub にアクセスする場合は、[Other] を選んでから、ホスト名を入力します (例: octocorp.ghe.com)。
  4. 画面上の残りのプロンプトに従います。

    GitHub CLI は、Git 操作の優先プロトコルとして HTTPS を選択すると自動的に Git 資格情報を格納し、GitHub 資格情報で Git に対して認証するかどうかを尋ねるプロンプトに対して "はい" と答えます。 これは、別の資格情報マネージャーを設定したり、SSH を使用したりすることなく、git pushgit pull などの Git コマンドを使用できるので便利です。

いくつかの便利なコマンド

メモ

一部のコマンド (gh codespace SUBCOMMAND など) では、初めて使うときに認証トークンにさらにスコープを追加するよう求められます。 画面の指示に従います。

状態の表示

gh status と入力すると、サブスクライブしているすべてのリポジトリの GitHub での現在の作業の詳細が表示されます。

リポジトリの表示

gh repo view OWNER/REPO と入力すると、リポジトリの説明と README.md が表示されます。 gh repo view OWNER/REPO --web と入力すると、既定のブラウザーでリポジトリが表示されます。

GitHub 上にリモートがあるローカル Git リポジトリのディレクトリ内から repo サブコマンドを実行する場合は、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 と入力すると、指定したリポジトリで現在未解決となっている、最近作成された問題が一覧表示されます。 GitHub 上にリモートがあるローカル Git リポジトリのディレクトリ内から issue サブコマンドを実行する場合は、--repo OWNER/REPO を省略しても構いません。 たとえば、このリポジトリで自分に割り当てられている問題を一覧表示する場合は gh issue list --assignee "@me"、ユーザー "monalisa" が作成した問題を一覧表示するには gh issue list --author monalisa と入力します。

新しい問題の作成 (「Issue の作成」を参照) や問題の検索 (「Issue及びPull Requestのフィルタリングと検索」を参照) も可能です。

pull request の操作

gh pr list --repo OWNER/REPO と入力すると、指定したリポジトリで現在未解決となっている、最近作成された pull request が一覧表示されます。 GitHub 上にリモートがあるローカル Git リポジトリのディレクトリ内から pr サブコマンドを実行する場合は、--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 」と入力し、コードスペースを選択します。

これらすべてのコマンドで cscodespace に置き換えることができます。

ヘルプの表示

gh と入力すると、使用できる最上位の GitHub CLI コマンドが表示されます。 たとえば、issueprrepo などです。

各コマンドと各補助サブコマンドに対して、--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.com などの同じ GitHub プラットフォームに複数のアカウントがある場合は、それぞれを認証し、gh auth switch コマンドを使用してアカウントを切り替えることができます。 GitHub CLI マニュアルの「gh auth switch」を参照してください。

GitHub.com の個人用アカウントや GHE.com の マネージド ユーザー アカウント など、複数の GitHub プラットフォームで GitHub CLI を使用する必要がある場合は、「GitHub プラットフォーム間での GitHub CLI の使用」を参照してください。

参考資料

  •           [AUTOTITLE](/github-cli/github-cli/github-cli-reference)
    
  •           [GitHub CLI オンライン マニュアル](https://cli.github.com/manual/gh)