Git服务器删除用户名和密码是指清除本地Git客户端中缓存的远程仓库访问凭证,包括HTTP基本认证的用户名密码和OAuth令牌,目的是解决认证失败、账号切换或安全风险问题。 这个操作不涉及服务器端的用户数据,只清理你本机存储的登录信息。
git服务器删除用户名和密码是什么意思
当你用HTTPS协议克隆或推送代码时,Git会把输入的用户名和密码保存在本地,由凭证助手(credential helper)管理,这些缓存信息存储在操作系统专用区域,比如Windows凭据管理器、macOS钥匙串或Linux的明文文件。git服务器删除用户名和密码,本质就是清空这些本地缓存,让Git下一次操作时重新要求你输入凭据。 这个过程与服务器端账户无关,只影响你本机的认证流程。
为什么需要删除缓存的凭证
大多数人遇到以下情况才意识到需要清理凭证:
- 认证失败:远程仓库密码更改后,Git仍用旧密码尝试连接,反复报错403或401。
- 账号切换:一台机器上使用多个Git仓库账户,缓存了第一个账号后无法使用第二个账号推送。
- 安全场景:在公共电脑完成操作后,需要清除所有敏感信息,防止他人使用你的凭据。
- 凭证过期:某些Git服务器开启了短期令牌(如GitLab 1小时有效期),缓存过期令牌导致无法访问。
删除凭证的本质操作
无论你使用哪种操作系统,核心操作都是删除凭证助手记录的条目,Git官方提供git credential reject命令实现通用删除,但更常用的做法是直接操作系统凭据管理器。
git删除用户名密码命令实操
git credential是Git内置的凭证管理工具,通过标准输入传递指令。手动删除特定仓库的凭证,使用git credential reject命令配合protocol和host参数。 这是最精准的删除方式,不依赖任何第三方工具。
单条凭证删除步骤
- 打开终端,输入以下命令起始删除流程:
git credential reject - 输入待删除仓库的协议和主机地址,按
Ctrl+D结束:protocol=https host=github.com参数说明:
protocol:https或http,必须与仓库URL一致。host:服务器域名,例如gitlab.example.com。
- 执行后Git会删除该仓库的所有缓存凭证,下次操作时提示输入用户名和密码。

批量删除所有缓存
如果你需要清理所有仓库的凭证,可以直接删除凭证助手对应的存储文件或清空系统凭据管理器。但更推荐的做法是修改凭证助手配置,临时禁用缓存。
git config --global --unset credential.helper
然后执行一次git fetch触发认证,再重新配置credential.helper为cache或manager。
验证删除是否成功
运行git credential fill命令,输入协议和主机,查看是否仍有缓存输出:
echo -e "protocol=https\nhost=github.com\n" | git credential fill
如果返回空行或提示输入密码,说明凭证已删除。
不同操作系统下的清除方法
具体的删除路径取决于你使用的凭证助手。 常见的凭证助手包括manager-core(Windows)、osxkeychain(macOS)和cache或store(Linux),下面按系统给出直接操作步骤。
Windows:凭据管理器
Windows默认使用manager-core凭证助手,所有凭证储存在控制面板的“凭据管理器”中。
- 打开控制面板,选择“用户账户”>“凭据管理器”。
- 点击“Windows凭据”标签。
- 在“普通凭据”列表中找到以
git:开头的条目,例如git:https://github.com。 - 展开条目,点击“删除”或“编辑”以移除密码。
删除后下次Git操作会弹出认证窗口,重新输入即可。
- 如果使用
git credential reject命令,同样有效,但凭据管理器中的条目不会被自动删除,需要手动清理。

注意:Windows 10及以上版本还支持manager旧版凭证助手,删除位置相同。
macOS:钥匙串访问
macOS使用osxkeychain凭证助手,所有Git凭证存储在系统钥匙串中。
- 打开“钥匙串访问”应用(在“应用程序”>“实用工具”中)。
- 在搜索框输入
git或对应的服务器域名,例如github.com。 - 找到“Internet密码”或“应用程序密码”类型的条目,双击打开。
- 点击“删除”按钮,确认删除。
- 或者使用命令行直接删除:
git credential-osxkeychain erase输入
protocol=https\nhost=github.com再按Ctrl+D完成。
Linux:文件或缓存
Linux没有默认凭证助手,常见配置包括cache(内存缓存)和store(明文文件)。删除方法取决于具体配置。
- cache助手:运行
git credential-cache exit可以立即清除所有缓存,因为其存储在内存中,重启终端也会自动清除。 - store助手:凭证存储在
~/.git-credentials文件中,每行对应一个仓库的凭证,直接编辑该文件删除对应行,或删除整个文件。 - 通用方法:使用
git credential reject,与操作系统无关,推荐在Linux上首选。
清除git缓存密码的常见场景
在不同使用场景下,删除凭证的时机和方式有细微差别,下面列举三个典型场景。
更换远程仓库账号
假设你原来用A账号克隆了gitlab.com上的项目,现在需要改用B账号推送。直接删除该仓库的缓存凭证即可,无需重新克隆。 操作顺序:
- 运行
git credential reject输入protocol=https和host=gitlab.com。 - 执行
git push,终端会提示输入新的用户名和密码。 - 输入B账号的凭证,Git会重新缓存新凭证(如果凭证助手配置为缓存)。
报错“Authentication failed”后紧急修复

当你在git push时遇到“Authentication failed”错误,首先检查是否因密码过期。清除本地缓存,再通过OAuth令牌或SSH重新认证。 如果使用SSH,则无需处理HTTPS凭证,如果必须使用HTTPS,建议生成个人访问令牌(PAT)代替密码,令牌在服务器端设置,与本地缓存无关。
在公共电脑上使用后清理
在公共电脑上操作Git仓库,离开前务必清除所有凭证。推荐临时使用--global取消凭证助手,并清空相关文件。 具体步骤:
- 删除
~/.git-credentials文件(如果存在)。 - 运行
git credential-cache exit(如果使用cache)。 - 执行
git config --global --unset credential.helper,确保不会自动缓存。 - 关闭终端以清除所有历史记录。
Q&A:git服务器删除用户名和密码常见问题
git删除用户名和密码后,其他终端操作会受影响吗?
不影响。 删除凭证仅影响本机执行的Git操作,其他设备或终端仍使用各自缓存的凭证,如果你在服务器端更换了密码,其他设备在下次操作时也会因旧凭证失效而报错,需要各自清理缓存。
删除凭证后,Git是否会自动重新缓存新的密码?
取决于凭证助手配置。 如果配置了credential.helper(如manager或osxkeychain),Git在成功认证后会自动缓存新的密码,如果未配置辅助程序,则每次操作都需要输入密码,不会自动缓存,你可以通过git config --global credential.helper查看当前设置,若为空则不会自动存储。
清除git缓存密码后,如何避免频繁输入密码?
推荐使用SSH密钥代替HTTPS密码。 SSH密钥对从根本上避免密码缓存问题,且无需定期删除,如果你坚持使用HTTPS,可配置cache助手并设置超时时间:git config --global credential.helper 'cache --timeout=3600',缓存1小时,或者使用manager-core(Windows)和osxkeychain(macOS)长期存储,但需注意安全风险。
