如果你在多个 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。