# GitHub CLI のクイック スタート

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

## GitHub CLI について

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

## 前提条件

1. macOS、Windows、または Linux に GitHub CLI をインストールします。 詳細については、GitHub CLI リポジトリ内での[インストール](https://github.com/cli/cli?ref_product=cli\&ref_type=engagement\&ref_style=text#installation)を参照してください。

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

   ```shell
   gh auth login
   ```

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

   * GitHub にある GitHub.com にアクセスする場合は、**\[GitHub.com]** を選びます。
   * 別のドメインにある GitHub にアクセスする場合は、**\[Other]** を選んでから、ホスト名を入力します (例: `octocorp.ghe.com`)。

4. 画面上の残りのプロンプトに従います。

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

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

> \[!NOTE]
> 一部のコマンド (`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 に追加する](/ja/enterprise-server@3.19/migrations/importing-source-code/using-the-command-line-to-import-source-code/adding-locally-hosted-code-to-github#initializing-a-git-repository)」を参照してください。

### 問題の操作

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

新しい問題の作成、[課題の作成](/ja/enterprise-server@3.19/issues/tracking-your-work-with-issues/creating-an-issue#creating-an-issue-with-github-cli) の参照、または問題の検索については、「[Issue及びPull Requestのフィルタリングと検索](/ja/enterprise-server@3.19/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests?tool=cli#searching-for-issues-and-pull-requests)」を参照してください。

### 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 の作成](/ja/enterprise-server@3.19/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request?tool=cli#creating-the-pull-request)」をご覧ください。

### codespace の操作

新しい codespace を作成するには、`gh codespace create` と入力して画面の指示に従います。

既存の codespace を表示するには、`gh codespace list` と入力します。 Web バージョン VS Code でコードスペースを開くには、「 `gh codespace code -w` 」と入力し、コードスペースを選択します。

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

## ヘルプの表示

`gh` と入力すると、使用できる最上位の GitHub CLI コマンドが表示されます。 たとえば、`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`](https://cli.github.com/manual/gh_config_set)を参照してください。

* よく実行するコマンドのエイリアスを定義します。 たとえば、`gh alias set prd "pr create --draft"` を実行した場合、`gh prd` を実行すると、下書きのプルリクエストをすばやく開くことができるようになります。 詳細については、「[`gh alias`](https://cli.github.com/manual/gh_alias)を参照してください。

* GitHub CLI 拡張機能を使用して、カスタム コマンドを作成または追加します。 詳細については、「[GitHub CLI 拡張機能の使用](/ja/enterprise-server@3.19/github-cli/github-cli/using-github-cli-extensions) および [GitHub CLI 拡張機能の作成](/ja/enterprise-server@3.19/github-cli/github-cli/creating-github-cli-extensions) を参照してください。

## 複数アカウントでの GitHub CLI の使用

GitHub など、同じ お使いの GitHub Enterprise Server インスタンス プラットフォームに複数のアカウントがある場合は、`gh auth switch` コマンドを使用して、それぞれを認証して切り替えることができます。 GitHub CLI マニュアルの「[gh auth switch](https://cli.github.com/manual/gh_auth_switch)」を参照してください。

GitHub CLI の個人用アカウントや GitHub の GitHub.com など、複数の マネージド ユーザー アカウント プラットフォームで GHE.com を使用する必要がある場合は、「[GitHub プラットフォーム間での GitHub CLI の使用](/ja/enterprise-server@3.19/github-cli/github-cli/using-multiple-accounts)」を参照してください。

## 参考資料

* [GitHub CLI リファレンス](/ja/enterprise-server@3.19/github-cli/github-cli/github-cli-reference)
* [GitHub CLI オンライン マニュアル](https://cli.github.com/manual/gh)