# GitHub プラットフォーム間での GitHub CLI の使用

異なる GitHub プラットフォーム上のアカウントに対して認証されたときにコマンドを実行する方法について説明します。

GitHub の個人アカウントや、GitHub.com の マネージド ユーザー アカウント など、複数の GHE.com プラットフォームにアカウントがある場合は、各アカウントごとに `gh auth login` を使用して認証できます。

特定の環境で "任意" のコマンドを実行するには、認証する必要があります。__ たとえば、GitHub.com のパブリック リポジトリへの読み取りaccessのみを必要とするコマンドを実行している場合でも、GHE.com のアカウントに対してのみ認証されている場合、このコマンドを使用することはできません。 そのため、GitHub CLI で使用するすべてのアカウントに対して認証する必要があります。

## アカウントごとにコマンドを実行するにはどうすればいいですか？

複数のアカウントで認証された後で、コマンドを実行すると、GitHub CLI によって、アクセスしようとしているプラットフォームが自動的に検出されることがあります。 それ以外の場合は、コマンドで詳細情報を指定する必要があります。

GitHub CLI は、特定のリポジトリのコンテキストにあるときに、目的のアカウントを**自動的に検出**します。 たとえば、`cd` ディレクトリへの `my-repo` を行い、`gh repo view` を実行すると、コマンドはそのリポジトリの適切なプラットフォームをターゲットとします。

このコンテキストがない場合、GitHub CLI は、目的のアカウントを**自動的に検出できません**。 たとえば、`gh repo list` を実行してアカウントのリポジトリを一覧表示した場合、GitHub CLI は、accessするアカウントを認識しません。 このようなケースでは:

* GitHub CLI は既定で GitHub.com になります。
* `GH_HOST` 環境変数を設定して、これらの種類の要求の既定のターゲットを変更できます。 GitHub CLI マニュアルの「[gh environment](https://cli.github.com/manual/gh_help_environment)」を参照してください。
* 一部のコマンドでは、`--hostname`などの`gh api` オプションを使用してターゲット環境を指定したり、`gh pr view`などのリポジトリの完全な URL を渡したりすることができます。

## 同じプラットフォームで複数のアカウントを使用できるか

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