Git - 令牌登录

在GitLab上下载代码时,会让你输入账号密码登录,会给出提示:

复制代码
Cloning into 'xx'...
remote: HTTP Basic: Access denied. The provided password or token is incorrect or your account has 2FA enabled and you must use a personal access token instead of a password. See https://xx.cn/xx_git#error-on-git-fetch-http-basic-access-denied
fatal: Authentication failed for 'https://xx.git/'

核心:账号开启了二次验证 (2FA),不能用账号密码,必须使用个人访问令牌(Personal Access Token,PAT);或者旧的密码 /token 已经失效,常见于 GitLab。

方案 1:用 PAT 拼接在 clone 地址里(推荐)

  1. 登录你的 GitLab,生成个人访问令牌 (PAT )

    • 权限勾选:read_repository(仓库读取权限,如果需要提交还要勾选 write 相关)
    • 复制生成的 token(只显示一次,保存好)
  2. 修改 clone 命令,把用户名:token塞进 url:

    git clone https://你的用户名:生成的PAT@git地址/xxx/xxx_fe.git

示例: git clone https://zhangsan:glpat-xxxxxxxxxxxx@gitlab.xxx.com/sx-xxx/sx-xxx_fe.git

个人访问令牌 (PAT )申请

⚠️ 令牌只在生成那一刻显示一次,页面刷新 / 关掉之后就再也看不到了,生成完立刻复制保存!

  1. 登录你的 GitLab 网页端(公司内网 GitLab / 极狐 GitLab 都一样)
  2. 右上角点你的头像 → 【编辑个人资料】(Edit profile)
  3. 左侧菜单栏找到:访问 > 个人访问令牌 (Access > Personal access tokens);旧版界面叫【Access Tokens 访问令牌】
  4. 填写表单(重点)
    • 令牌名称 :随便写,例如 windows-git-clone,方便以后辨认
    • 过期日期:选一个到期时间(最多 365 天,不填默认一年)
    • 权限范围 (Scopes)【必勾选】 :✅ read_repository (只读仓库,拉代码必须这个权限;如果以后还要提交代码,再加write_repository)
    • 其他 api、read_user 可选,clone 代码只需要read_repository
  5. 点【生成令牌 / Generate token】
  6. 页面会出现一串以 glpat- 开头的字符串,全部复制,这就是你的访问令牌!

✅ 两种使用方式

方式 A:直接拼在 git clone 地址里(推荐一次性拉代码)
复制代码
git clone https://你的GitLab账号名:复制的glpat-xxxx@gitlab地址/xxx/sx-xxx_fe.git
方式 B:弹窗输入账号密码
  1. 先去 Windows【凭据管理器】删除旧的 gitlab 缓存凭据
  2. 执行普通 git clone https://xxx.git
  3. 弹窗用户名填你的 GitLab 账号;密码框粘贴这个 glpat 令牌,不要填登录密码

方案 2:清除 Windows 旧的凭证缓存(经常踩坑!)

Windows 会保存旧的账号密码,即使你重新输入,git 还在用缓存里失效的凭据。

  1. 打开控制面板 → 用户账户 → 凭据管理器 → Windows 凭据
  2. 找到对应 git 地址的条目(gitlab.xxx.com),直接删除
  3. 重新执行 git clone,弹窗输入:
    • 用户名:你的账号
    • 密码:粘贴 PAT 令牌,不是账号密码

方案 3:检查 2FA 状态

  • 如果账号开启了二次验证,绝对不能填登录密码,只能填 PAT
  • 如果没开 2FA,说明你输入的账号 / 密码错误,或者仓库没有权限(项目没分配给你)

方案 4:切换 SSH 方式(长期推荐,不用每次带 token)

  1. 生成 ssh 密钥,把公钥添加到 GitLab 账号 SSH 密钥

  2. 使用 ssh 地址 clone:

    git clone git@gitlab.xxx.com:sx-xxx/sx-xxx_fe.git

相关推荐
程序员差不多先生1 天前
Anthropic 用 5 个月重写了 Git:当 AI Agent 把版本控制系统逼到墙角
人工智能·git·elasticsearch·deepseek v4 pro·kimi k3·glm 5.3·qwen3.7 max
leo_厉锵1 天前
GIT习题
git
catoop2 天前
用 Shell 包装函数,让单个命令拥有专属配置
git
Zguigo2 天前
学会更高效的理解AI的输出?
人工智能·git·ai
鬼手点金2 天前
上下文:Agent 的眼睛
java·前端·人工智能·git·深度学习
guohuang2 天前
让机器人安全失败:点云中断、TF 超时和控制器崩溃怎么测
git·安全·机器人
小道士写程序2 天前
Git 大文件问题解决办法
git
黑泽明Coding2 天前
如何重置git分支,清空分支所有提交历史
git
小堃学编程2 天前
Git远程开发操作指南
git
于眠牧北3 天前
雷电模拟器9/14搭配charles抓取自带浏览器接口9/14
经验分享·笔记·git