Skip to main content

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

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

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」を参照してください。