是否存在机器重启后不会失效的git凭据缓存方案?
Git 重启后仍有效的长期凭据缓存配置方案
Git默认的内存缓存方案仅会在当前会话周期内存储凭据,设备重启后就会自动清空,要实现长期持久化缓存,可以使用对应系统原生的密钥存储对接方案:
Windows 系统配置
- 直接使用Git for Windows自带的Git Credential Manager,对接系统凭据管理器,执行全局配置命令:
git config --global credential.helper manager-core
配置完成后首次操作私有仓库输入凭据,就会自动存储到Windows系统凭据中心,重启不会失效。
macOS 系统配置
- 对接系统自带的钥匙串(Keychain)存储凭据,执行配置命令:
git config --global credential.helper osxkeychain
凭据会存入系统钥匙串,支持系统级权限管控,重启设备不会丢失。
Linux 系统配置
分两种场景选择方案:
- 带桌面环境的发行版:对接GNOME钥匙环/KDE钱包实现安全存储
- 先安装依赖(以Debian/Ubuntu系为例):
sudo apt install libsecret-1-0 libsecret-1-dev - 编译安装对应凭据助手:
sudo make --directory=/usr/share/doc/git/contrib/credential/libsecret - 配置Git调用该助手:
git config --global credential.helper /usr/share/doc/git/contrib/credential/libsecret/git-credential-libsecret
- 先安装依赖(以Debian/Ubuntu系为例):
- 无桌面环境的个人专属服务器:使用明文存储方案(仅建议在个人独占、安全有保障的设备上使用)
执行配置命令:git config --global credential.helper store
凭据会明文存储在当前用户目录的~/.git-credentials文件中,重启不会失效,禁止在共享设备上使用该方案。
注意事项
如果之前配置过临时内存缓存方案,可以先执行
git config --global --unset credential.helper cache清除旧配置,再执行上述持久化配置命令,避免配置冲突。
配置完成后可执行git config --global --get credential.helper验证配置是否生效,正常会输出你所配置的凭据助手对应名称/路径。
内容的提问来源于stack exchange,提问作者WhiskerBiscuit
相关产品推荐
相关产品推荐

