JGit访问GitHub私有仓库出现未授权问题求助
解决JGit访问GitHub私有仓库未授权问题
核心原因:GitHub已停用账号密码直接认证
GitHub从2021年8月起,不再支持使用账号密码通过HTTPS协议访问仓库,必须使用**个人访问令牌(PAT)**替代密码完成身份验证。你输入的账号密码虽能登录GitHub网页,但无法用于Git操作的权限校验。
解决步骤
1. 生成GitHub个人访问令牌(PAT)
- 登录GitHub账号,依次进入「Settings」→「Developer settings」→「Personal access tokens」→「Tokens (classic)」
- 点击「Generate new token」,填写令牌名称,勾选
repo权限(私有仓库读写必备),其他权限按需选择 - 生成后复制令牌内容(仅显示一次,务必保存)
2. 修改代码中的凭据
将代码里UsernamePasswordCredentialsProvider的密码参数替换为刚才生成的PAT,用户名保持你的GitHub账号不变:
CredentialsProvider credentialsProvider = new UsernamePasswordCredentialsProvider("你的GitHub用户名", "生成的PAT");
3. 检查其他潜在问题
- 确认仓库URI格式正确:
https://github.com/你的用户名/仓库名.git,无拼写错误 - 第二种本地初始化仓库的方式,需先添加远程仓库再推送,补充代码:
// 在commit之后、push之前添加远程仓库配置 git.remoteAdd() .setName("origin") .setUri(new URIish("https://github.com/你的用户名/仓库名.git")) .call();
内容的提问来源于stack exchange,提问作者Thend
相关产品推荐
相关产品推荐

