如果你在多个 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列出账户下的仓库时,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。