在利用 IntelliJ IDEA 举行 GitHub 操作(如 push 或 pull)时,可能会遇到须要Log In to GitHub。
但是我们在登录授权体现乐成之后,IDEA内里还是会体现:
我们在命令行Git可以正常推送代码,IDEA 仍然无法正确连接 GitHub。这次问题的解决经历让我深入了解了 IDEA 的 GitHub 认证机制,本文将详细介绍该问题的原因及解决方案,盼望对各人有所帮助。
1. 问题分析
通常有以下几个可能的原因:
- IDEA 缓存了错误/过期的 GitHub 认证信息
- IDEA 可能存储了一个旧的 GitHub 访问 Token,导致纵然你输入新的 Token 仍然无效。
- 体系级 Git 认证信息冲突
- Windows (cmdkey) 或 macOS (Keychain) 可能存储了 过期的 GitHub 认证信息,IDEA 默认读取这些信息举行身份验证,导致认证失败。
- IDEA 网络代理问题
- IDEA 的 主动代理(Auto-detect proxy settings) 可能无法正确访问 GitHub,导致连接超时。
- Git 远程仓库 URL 仍然利用 HTTPS,导致 Token 认证异常
- GitHub 早已 废弃了用户名+暗码认证,如果 Git 仍然利用 HTTPS 并且 Token 过期或配置错误,IDEA 可能无法正常认证 GitHub。
2. 解决方案
方案 1:扫除 Git 认证缓存
如果 IDEA 缓存了错误的 GitHub 认证信息,纵然你输入新的 Token,它仍然会利用错误的凭据。可以通过 扫除 Git 认证缓存 解决此问题。可以手动扫除:
1.1 在终端执行以下命令:
- git credential reject https://github.com
复制代码 如果提示:
- usage: git credential (fill|approve|reject)
复制代码 说明 git credential reject 须要指定完整的 GitHub 远程仓库 URL,否则 Git 可能无法正确删除对应的凭据。这种情况下,可以改用:请改用:
- git credential reject https://github.com
- /你的仓库.git
复制代码 这个命令的作用是 删除 Git 缓存的 GitHub 认证信息,让 Git 重新请求新的认证凭据。
方案 2:删除 IDEA 认证缓存
如果 方案 1 无法解决问题,可能是 IDEA 仍然存储了错误的 GitHub 认证信息。
2.1 删除 IDEA 存储的 GitHub 账户
1. 打开 IDEA
2. File → Settings → Version Control → GitHub
3. 选择 删除(Remove) 现有 GitHub 账户 / 点击一下GitHub账号然后点击上面的 - 号
2.2 扫除 GitHub 认证的 WindowsKeychain
如果 IDEA 仍然无法重新请求 GitHub 认证信息,可能是 体系级别的 Git 认证 存储了错误的凭据,须要手动删除。
- cmdkey /delete:git:https://github.com
复制代码 然后 重新启动 IDEA 并重新登录 GitHub。
方案 3:利用 SSH 方式连接 GitHub(保举!)
如果 IDEA 仍然无法利用 HTTPS + Token 方式登录 GitHub,可以改用 SSH 认证,这种方式更稳固,不须要反复输入 Token。
3.1 天生 SSH Key(如果还没有)
- ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
复制代码 一路回车即可。
3.2 添加 SSH Key 到 GitHub
运行
1.复制 SSH 公钥
2.在 GitHub 个人设置 → Settings → SSH and GPG keys → New SSH Key
3.Title 随意填写,Key 粘贴复制的公钥,点击 Add SSH Key
3.3 测试 SSH 连接
如果看到:
- Hi your-username! You've successfully authenticated, but GitHub does not provide shell access.
复制代码 说明 SSH 连接 GitHub 乐成。
3.4 修改 Git 远程仓库 URL
- git remote set-url origin git@github.com:your-username/your-repo.git
复制代码 然后在 IDEA 重新 push 代码,应该不会再遇到 Invalid authentication data 的错误。
方案 4:检查 IDEA 代理设置
如果你的网络正常,但 IDEA 仍然无法连接 GitHub,可能是代理问题。
4.1 禁用 IDEA 代理
1.打开 IDEA
2.进入 File → Settings → Appearance & Behavior → System Settings → HTTP Proxy
3.选择 No proxy(倒霉用代理)
4.点击 Check connection 测试 GitHub 连接
5.重启 IDEA 并重新尝试登录 GitHub
盼望这篇文章能帮到遇到类似问题的朋友,欢迎各人交换!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |