codecamp

GitHub 创建个人访问令牌

您应该通过命令行或 API 创建个人访问令牌来代替密码。

在使用GitHub API或命令行时,可使用个人访问令牌 (PAT) 代替密码向 GitHub 进行身份验证。

如果要使用 PAT 访问使用 SAML SSO 的组织所拥有的资源,则必须授权 PAT。 更多信息请参阅“[关于使用 SAML 单点登录进行身份验证]((https://www.w3cschool.cn/githubcn/githubcn-q8r93acx.html)”和“[授权个人访问令牌用于 SAML 单点登录](https://www.w3cschool.cn/githubcn/githubcn-3g943acz.html)”。

作为安全预防措施,GitHub 会自动删除一年内未使用过的个人访问令牌。

创建令牌

  1. 验证您的电子邮件地址(如果尚未验证)。

  1. 在任何页面的右上角,单击您的个人资料照片,然后单击 Settings(设置)

用户栏中的 Settings 图标

  1. 在左侧边栏中,单击 Developer settings

开发者设置

  1. 在左侧边栏中,单击 Personal access tokens(个人访问令牌)

个人访问令牌

  1. 单击 Generate new token(生成新令牌)

生成新令牌按钮

  1. 给令牌一个描述性名称。

令牌说明字段

  1. 选择要授予此令牌的作用域或权限。 要使用令牌从命令行访问仓库,请选择 repo(仓库)

选择令牌作用域

  1. 单击 Generate token(生成令牌)

生成令牌按钮

  1. 单击 save将令牌复制到剪贴板。 出于安全原因,离开此页面后,您将无法再次看到令牌。

新创建的令牌

警告: 像对待密码一样对待您的令牌,确保其机密性。 使用 API 时,应将令牌用作环境变量,而不是将其硬编码到程序中。

  1. 要使用令牌向实施 SAML SSO 的组织验证,请授权该令牌用于 SAML 单点登录组织

在命令行上使用令牌

如果您有令牌,则可以在通过 HTTPS 执行 Git 操作时输入令牌,而不是密码。

例如,在命令行中输入以下内容:

$ git clone https://github.com/username/repo.git
Username: your_username
Password: your_token

个人访问令牌只能用于 HTTPS Git 操作。 如果您的仓库使用 SSH 远程 URL,则需要将远程 URL 从 SSH 切换到 HTTPS

如果没有提示您输入用户名和密码,说明您的凭据可能已缓存在计算机上。 您可以在密钥链中更新您的凭据,用令牌替换您的旧密码。

延伸阅读

更新 GitHub 访问凭据
GitHub 审查 SSH 密钥
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

GitHub 身份验证

在 GitHub 上管理订阅和通知

在 GitHub 上管理活动的订阅

GitHub 组织和团队

GitHub 管理对组织仓库的 Git 访问

GitHub 计费和付款

GitHub 使用议题和拉取请求进行协作

GitHub 在具有代码质量功能的仓库上进行协作

管理在 GitHub 上的工作

GitHub 建立强大的社区

GitHub 管理仓库

GitHub 自定义 GitHub 工作流程

在 GitHub Marketplace 中购买并安装应用程序

通过 GitHub Jobs 寻找人才

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }