在 Windows 上配置 Git HTTP 凭证,优先用 Git Credential Manager(GCM)+ Windows 凭据管理器,安全且支持 GitHub/GitLab 等平台的 PAT 与 2FA。下面是完整配置、管理与排查指南。
一、推荐方案:Git Credential Manager(GCM)
1. 安装与启用(Git for Windows 默认自带)
安装 Git for Windows 时,默认已启用 Git Credential Manager。若未启用,执行:
# 全局配置(所有仓库生效,推荐)
git config --global credential.helper manager-core
# 仅当前仓库生效(进入仓库目录后执行)
git config credential.helper manager-core
2. 首次使用:触发凭证存储
执行 HTTPS 拉取/推送,按提示输入:
- 用户名:你的 Git 平台账号
- 密码/令牌:必须用个人访问令牌(PAT)(GitHub/GitLab 已禁用密码登录)
输入后,凭证会加密存入 Windows 凭据管理器,后续无需重复输入。
3. 查看/修改/删除已存凭证(Windows 凭据管理器)
- 打开:控制面板 → 凭据管理器 → Windows 凭据
- 找到以
git:https://开头的条目(如git:https://github.com) - 操作:
- 查看/编辑:点击条目,修改用户名/令牌
- 删除:点击“删除”,下次操作会重新要求输入
二、其他凭证助手方案(按需选择)
方案 1:store(明文存储,不推荐)
# 全局配置
git config --global credential.helper store
- 凭证文件路径:
C:\Users\<你的用户名>\.git-credentials - 格式:
https://用户名:令牌@github.com - 风险:明文存储,易泄露,仅用于测试/内网环境
方案 2:cache(内存临时缓存)
# 缓存 1 小时(3600 秒)
git config --global credential.helper "cache --timeout=3600"
- 特点:重启电脑/终端后失效,适合临时使用
三、常用命令汇总
1. 查看配置
# 查看所有 Git 配置(含凭证)
git config --list
# 仅查看全局凭证助手
git config --global credential.helper
# 仅查看当前仓库凭证助手
git config credential.helper
2. 重置/清除配置
# 清除全局凭证助手配置
git config --global --unset credential.helper
# 清除当前仓库凭证助手配置
git config --unset credential.helper
# 清除所有全局 Git 配置(谨慎使用)
git config --global --unset-all
3. 强制重新输入凭证
删除 Windows 凭据管理器中对应 git:https://xxx 条目,或执行:
# 示例:清除 GitHub 凭证
cmdkey /delete:git:https://github.com
四、常见问题与排查
1. 配置后仍反复要求输入凭证
- 原因:GCM 未启用、凭证过期、仓库级配置覆盖全局
- 排查:
# 1. 确认全局配置 git config --global credential.helper # 应输出 manager-core # 2. 检查是否有仓库级配置(覆盖全局) cd 你的仓库 git config --list | findstr credential.helper # 若有,删除仓库级配置 git config --unset credential.helper # 3. 删除旧凭证,重新输入 cmdkey /delete:git:https://github.com
2. 提示“modalprompt”弹窗问题
# 启用弹窗输入(避免命令行卡住)
git config --global credential.modalprompt true
3. PAT 过期/更换
- 在 Git 平台生成新 PAT
- 删除 Windows 凭据管理器中旧
git:https://xxx条目 - 执行
git pull,按提示输入新 PAT
五、最佳实践
- 必用 PAT:GitHub/GitLab/Gitee 均禁用密码登录,务必用个人访问令牌
- 优先 GCM:
manager-core是 Windows 最安全、最兼容的方案 - 定期清理:不再使用的仓库凭证及时从 Windows 凭据管理器删除
- 权限安全:
store方案的.git-credentials设为仅自己可读(默认已满足)
需要我帮你生成一份可直接复制的 Windows Git 凭证一键配置脚本,并附 PAT 生成与替换的步骤吗?