gh auth login

gh auth login [flags]

使用 GitHub 主机进行身份验证。

默认身份验证模式是基于 Web 的浏览器流程。完成之后,身份验证令牌将安全地存储在系统凭据存储中。如果找不到凭据存储或使用它存在问题,gh 将回退到将令牌写入纯文本文件。有关其存储位置,请参阅 gh auth status

或者,使用 --with-token 将令牌传递到标准输入。令牌所需的最小范围是:reporead:orggist

或者,gh 将使用在环境变量中找到的身份验证令牌。此方法最适合 gh 的“无头”使用,例如在自动化中。有关更多信息,请参阅 gh help environment

要在 GitHub Actions 中使用 gh,请将 GH_TOKEN: ${{ github.token }} 添加到 env 中。

用于在此主机上执行 git 操作的 git 协议可以使用 --git-protocol 设置,或者在交互式提示期间设置。虽然登录适用于主机上的单个帐户,但设置 git 协议将对主机上的所有用户生效。

指定 ssh 作为 git 协议将检测现有的 SSH 密钥以进行上传,如果未找到密钥,则提示创建并上传新密钥。可以使用 --skip-ssh-key 标志跳过此操作。

选项

-p, --git-protocol <string>
用于在此主机上执行 git 操作的协议:{ssh|https}
-h, --hostname <string>
要与其进行身份验证的 GitHub 实例的主机名
--insecure-storage
将身份验证凭据保存在纯文本中,而不是凭据存储中
-s, --scopes <strings>
要请求的附加身份验证范围
--skip-ssh-key
跳过生成/上传 SSH 密钥提示
-w, --web
打开浏览器进行身份验证
--with-token
从标准输入读取令牌

示例

# Start interactive setup
$ gh auth login

# Authenticate against github.com by reading the token from a file
$ gh auth login --with-token < mytoken.txt

# Authenticate with specific host
$ gh auth login --hostname enterprise.internal

另请参阅