You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一Git Bash会话推送至GitHub(HTTPS)与GitLab(SSH)的认证疑问

GitHub HTTPS无SSH密钥时的认证原理

你猜的没错,能成功推送的核心原因就是Git缓存了你的GitHub认证凭据,具体分两种常见情况:

  • Git内置凭据缓存
    当你第一次通过HTTPS执行git push时,Git会提示输入GitHub的用户名和个人访问令牌(PAT——GitHub早在2021年8月就停用了密码直接用于HTTPS推送)。输入后,Git默认会用cache助手在内存中缓存凭据15分钟,这段时间内再推送就不用重复输入。你可以用git config --global credential.helper命令查看当前启用的凭据助手。

  • 系统级凭据管理器
    如果是Windows环境,Git Bash默认会调用Windows凭据管理器,输入一次凭据后会被存在系统的安全凭据库中,后续推送自动调用,重启终端甚至重启电脑都有效;Mac环境则是存在Keychain Access里,Linux常用libsecret这类工具,这些都是系统级的安全存储,比Git内置的缓存更持久。

你可以通过以下方式验证:

  • 执行git credential-manager-core get(Windows),或者打开对应系统的凭据管理工具,就能看到存储的GitHub认证信息,确认是不是缓存了凭据。

内容的提问来源于stack exchange,提问作者Polly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 00:04:53