GitHub.com 上の個人用アカウントや GHE.com 上のマネージド ユーザー アカウントなど、複数の GitHub プラットフォームにアカウントがある場合は、アカウントごとに gh auth login
で認証できます。
特定の環境で "任意" のコマンドを実行するには、認証する必要があります。__ たとえば、GitHub.com のパブリック リポジトリへの読み取りアクセスのみを必要とするコマンドを実行している場合でも、GHE.com のアカウントに対してのみ認証されている場合、このコマンドを使用することはできません。 そのため、GitHub CLI で使用するすべてのアカウントに対して認証する必要があります。
各アカウントに対してコマンドを実行する方法
複数のアカウントで認証されると、コマンドを実行したときに、アクセスしようとしているプラットフォームが GitHub CLI によって自動的に検出されることがあります。 それ以外の場合は、コマンドで詳細情報を指定する必要があります。
GitHub CLI は、特定のリポジトリのコンテキストにあるときに、目的のアカウントを自動的に検出します。 たとえば、my-repo
ディレクトリへの cd
を行い、gh repo view
を実行すると、コマンドはそのリポジトリの適切なプラットフォームをターゲットとします。
このコンテキストがない場合、GitHub CLI は、目的のアカウントを自動的に検出できません。 たとえば、gh repo list
を実行してアカウントのリポジトリを一覧表示した場合、GitHub CLI はアクセスするアカウントを知りません。 このようなケースでは:
- GitHub CLI は既定で GitHub.com になります。
GH_HOST
環境変数を設定して、これらの種類の要求の既定のターゲットを変更できます。 GitHub CLI マニュアルの「gh environment」を参照してください。- 一部のコマンドを使用すると、
gh api
などの--hostname
オプションを使用してターゲット環境を指定したり、リポジトリの完全な URL (gh pr view
など) を渡したりすることができます。
同じプラットフォームで複数のアカウントを使用できるか
同じプラットフォームで複数のアカウントを認証することもできます。 これらのアカウント間で切り替えるには、gh auth switch
コマンドを使用します。 GitHub CLI マニュアルの「gh auth switch」を参照してください。