Skip to main content

跨 GitHub 平台使用 GitHub CLI

了解如何在对不同 GitHub 平台上的帐户进行身份验证后运行命令。

如果你在多个 GitHub 平台上拥有帐户,例如在 GitHub.com 上的个人帐户和在 GHE.com 上的 托管用户帐户,你可以对每个帐户使用 gh auth login 进行身份验证。

你需要进行身份验证才能在给定环境中运行_任何_命令。 例如,即使你正在运行一个只需要对 GitHub.com 上的公共存储库进行读取访问的命令,如果你只对 GHE.com 上的帐户进行身份验证,也将无法使用这个命令。 因此,你应该对你想与 GitHub CLI 一起使用的所有帐户进行身份验证。

如何为每个帐户运行命令?

你对多个帐户进行身份验证后,当你运行命令时,GitHub CLI 有时可以自动检测到你正在尝试访问哪个平台。 在其他情况下,你需要在命令中提供更多信息。

当你在特定存储库的上下文中时,GitHub CLI 会自动检测你想要使用的帐户****。 例如,如果你使用 cd 进入你的 my-repo 目录并运行 gh repo view,该命令将针对该存储库的正确平台。

当没有这种上下文时,GitHub CLI 无法自动检测你想要使用的帐户****。 例如,如果你运行 gh repo list 来列出你的帐户的存储库,GitHub CLI 不会知道你想要访问哪个帐户。 在如下所示的情况下:

  • GitHub CLI 默认为 GitHub.com。
  • 可以设置 GH_HOST 环境变量来更改这些类型的请求的默认目标。 请参阅 GitHub CLI 手册中的 gh environment
  • 有些命令允许你使用 --hostname 选项来指定目标环境,例如 gh api,或者传递存储库的完整 URL,例如 gh pr view

是否可以在同一平台上使用多个帐户?

还可以在同一平台上对多个帐户进行身份验证。 若要在这些帐户之间切换,可以使用 gh auth switch 命令。 请参阅 GitHub CLI 手册中的 gh auth switch