【亲测有效】Windows 下 Git 每次提交/推送都弹出 GitHub 账号选择窗口的解决方法
【亲测有效】Windows 下 Git 每次提交/推送都弹出 GitHub 账号选择窗口的解决方法文章目录【亲测有效】Windows 下 Git 每次提交/推送都弹出 GitHub 账号选择窗口的解决方法一、问题描述二、问题原因三、问题解决方法1. 确认当前仓库使用 HTTPS2. 查看 Git Credential Manager 中的 GitHub 账号3. 删除不需要的 GitHub 账号4. 设置默认使用 yangdanyang20055. 重新执行 Git 推送四、可能遇到的顽固问题1. 弹窗仍然出现手动清理 Windows 凭据管理器2. 无法区分账号时清除全部 GitHub 凭据五、如果你只想为当前仓库明确指定 GitHub 账号六、注意Git 用户名和 GitHub 登录账号不是一回事七、总结参考资料一、问题描述最近在 Windows 上具体来说是 Visual Studio Code 的 Git 功能侧边栏中使用 Git 提交代码时经常弹出一个 GitHub 账号选择窗口如图GitHub Select an account窗口中同时显示两个 GitHub 账号yangdanyang2005 146186406我其实每次都需要选择账号yangdanyang2005但是每次我进行 Git 提交或推送代码时仍然会再次弹出这个提示要求选择非常麻烦。读者也许也遇到了类似的问题。作者已经解决这个问题本文将介绍如何删除不再使用的 GitHub 账号只保留yangdanyang2005将yangdanyang2005设置为 GitHub 默认认证账号解决 VS Code、IDEA 等开发工具反复弹出账号选择窗口的问题。二、问题原因这个窗口并不是 GitHub 网页本身弹出的而是Git Credential ManagerGCM弹出的。Git Credential Manager 是 Git 的凭据管理工具。在使用 HTTPS 地址访问 GitHub 时它会帮助我们完成登录并将认证信息安全地保存到 Windows 凭据管理器中。Git for Windows 通常会自带 GCM。(GitHub Docs)当 GCM 中保存了多个 GitHub 账号而当前 Git 仓库又没有明确指定使用哪个账号时GCM 就可能弹出账号选择窗口让用户手动选择。P.S.git commit只会在本地创建提交本身不需要连接 GitHub。触发 GitHub 登录认证的通常是gitpushgitpullgitfetch如果在 VS Code、IDEA 或其他开发工具中点击“提交”后出现弹窗往往是因为开发工具在提交后自动执行了同步或推送操作。GCM 主要在 HTTPS 远程操作时参与身份认证。(GitHub)三、问题解决方法注以下操作方法均以作者自己的电脑和账号为例请读者根据自己的 Git 配置与账号登录情况修改相应用户名等等。1. 确认当前仓库使用 HTTPS首先进入项目目录执行gitremote-v如果输出类似origin https://github.com/用户名/仓库名.git (fetch) origin https://github.com/用户名/仓库名.git (push)说明当前仓库使用的是 HTTPS本文的方法适用。如果输出类似gitgithub.com:用户名/仓库名.git说明使用的是 SSH问题通常不是由 Git Credential Manager 的 HTTPS 凭据导致的。然后查看当前使用的凭据管理工具gitconfig--getcredential.helper常见输出包括manager或者manager-core这表示当前使用的是 Git Credential Manager。GitHub 官方文档也建议先通过该命令确认当前配置的凭据管理器。(GitHub Docs)2. 查看 Git Credential Manager 中的 GitHub 账号打开以下任意终端Git Bash推荐PowerShellWindows TerminalCMD执行gitcredential-manager github list该命令会列出 Git Credential Manager 中已登录的 GitHub 账号。例如yangdanyang2005 146186406GCM 官方提供了github list、github login和github logout等命令用于管理 GitHub 账号。(GitHub)3. 删除不需要的 GitHub 账号这里需要删除的账号是146186406执行命令gitcredential-manager githublogout146186406执行完成后再次查看账号列表gitcredential-manager github list确认输出中只剩下yangdanyang2005不同版本的 Git Credential Manager 在命令参数上可能略有区别。出现参数无法识别时可以执行gitcredential-manager github--help根据当前版本显示的帮助信息操作。GCM 官方文档同样建议通过该帮助命令查看 GitHub 账号管理方式。(GitHub)4. 设置默认使用 yangdanyang2005删除多余账号后继续设置 GitHub 的默认用户名gitconfig--globalcredential.https://github.com.username yangdanyang2005这条命令的作用是告诉 Git Credential Manager访问https://github.com时默认使用yangdanyang2005账号。GCM 官方推荐通过以下配置格式指定某个远程地址的默认账号credential.URL.username对于 GitHub可以设置为gitconfig--globalcredential.https://github.com.username 用户名(GitHub)设置完成后可以执行下面的命令检查gitconfig--global--getcredential.https://github.com.username正常情况下应输出yangdanyang2005也可以查看该配置来自哪个配置文件gitconfig --show-origin--getcredential.https://github.com.username5. 重新执行 Git 推送进入项目目录执行gitpush作者在这里直接使用的Visual Studio Code 的 Git 功能侧边栏中的相关按钮代替 git 命令来操作的。在这里也推荐大家体验、使用 Visual Studio Code 的 Git 功能侧边栏一些常见的 git 操作会很方便。当然遇到类似于本文等的一些 git 方面的“疑难杂症”可能还是需要你在 Visual Studio Code 下方等处打开 git bash 终端来通过输入命令操作了。这个时候一般就不会出现那个账号选择弹窗了反正作者是没遇到的即问题解决了✅️。我在网上看到有人在进行设置后的第一次推送时系统仍有可能要求重新登录一次此时选择只登录你想要登录的账号即可。登录成功后GCM 会将认证信息保存到 Windows 凭据管理器中之后的 HTTPS Git 操作会重复使用已经保存的凭据。(GitHub Docs)四、可能遇到的顽固问题注作者按照本文第三节所述方法已经成功解决此问题了因此下列可能遇到的“顽固问题”及其可能的应对方法仅供参考。1. 弹窗仍然出现手动清理 Windows 凭据管理器如果执行上述命令后账号146186406仍然出现在窗口中可以直接在 Windows 凭据管理器中删除旧凭据。首先打开凭据管理器。按下Win S搜索凭据管理器也可以按照下面的路径打开控制面板 → 用户账户 → 凭据管理器 → Windows 凭据然后找到 GitHub 相关凭据。在“普通凭据”中查找名称包含以下内容的条目github.com或者git:https://github.com展开凭据查看其中保存的用户名。删除其中你不需要的用户名的凭据。GitHub 官方文档指出如果 Windows 凭据管理器中缓存了错误或过期的 GitHub 凭据可以在“控制面板—用户账户—凭据管理器”中找到 GitHub 条目并将其删除。(GitHub Docs)2. 无法区分账号时清除全部 GitHub 凭据如果 Windows 凭据管理器中看不到明确的账号名称或者无法判断哪一条属于旧账号可以删除全部 GitHub 相关凭据然后重新登录正确账号。1PowerShell 命令在 PowerShell 中执行echoprotocolhttpsnhostgithub.com|git credential-managererase2Git Bash 命令在 Git Bash 中执行printfprotocolhttps\nhostgithub.com\n\n|gitcredential-manager erase该操作会清除当前保存的 GitHub HTTPS 凭据。GitHub 官方文档提供了通过git credential-manager erase清除 GitHub 凭据的方法。(GitHub Docs)清除后重新执行gitpush在弹出的登录窗口中只登录你想要登录的 Github 账号即可。需要注意清除全部凭据后其他使用 HTTPS 的 GitHub 仓库也可能要求重新登录。五、如果你只想为当前仓库明确指定 GitHub 账号如果不希望修改所有项目的全局设置也可以只为当前仓库指定账号。进入项目目录执行gitconfig credential.https://github.com.username yangdanyang2005这里没有使用--global因此配置只写入当前项目的.git/config文件。检查配置gitconfig--getcredential.https://github.com.username输出应为yangdanyang2005也可以直接把账号名加入远程仓库地址。先查看当前地址gitremote get-url origin假设当前地址为https://github.com/yangdanyang2005/example.git可以修改为gitremote set-url origin https://yangdanyang2005github.com/yangdanyang2005/example.git然后检查gitremote-v在 HTTPS 地址中加入用户名可以让 Git 和 GCM 更明确地区分应该使用的身份。GCM 官方文档也提供了这种为特定仓库指定账号的方法。(GitHub)六、注意Git 用户名和 GitHub 登录账号不是一回事有人会尝试通过下面的命令解决账号选择问题gitconfig--globaluser.nameyangdanyang2005gitconfig--globaluser.email你的GitHub邮箱这两个配置确实很重要但它们设置的是Git 提交记录中的作者信息并不能决定推送代码时使用哪个 GitHub 登录账号。可以执行以下命令查看提交作者配置gitconfig--globaluser.namegitconfig--globaluser.email两类配置的区别如下配置作用user.name写入 Git 提交记录的作者名称user.email写入 Git 提交记录的作者邮箱credential.https://github.com.username指定访问 GitHub 时默认使用的认证账号Windows 凭据管理器保存 GitHub 的 OAuth Token 或其他登录凭据GCM 官方文档明确说明user.name和user.email只是提交信息中的字符串GCM 不会通过它们决定 GitHub 登录身份。(GitHub)七、总结Git 反复弹出 GitHub 账号选择窗口通常是因为 Git Credential Manager 中保存了多个 GitHub 账号而当前仓库没有明确指定默认账号。解决思路主要分为三步从 Git Credential Manager 中注销不需要的账号设置credential.https://github.com.username默认用户名必要时删除 Windows 凭据管理器中的旧 GitHub 凭据。汇总操作步骤假设需要保留的账号是yangdanyang2005需要删除的账号是146186406主要需要运行的 git 命令如下# 查看已保存的 GitHub 账号gitcredential-manager github list# 删除不需要的账号gitcredential-manager githublogout146186406# 设置 GitHub 默认账号gitconfig--globalcredential.https://github.com.username yangdanyang2005# 检查默认账号gitconfig--global--getcredential.https://github.com.username# 重新推送gitpush如果仍然出现账号选择窗口则进入 控制面板 → 用户账户 → 凭据管理器 → Windows 凭据删除旧的 GitHub 凭据再执行一次git push最后只登录yangdanyang2005即可。配置完成后Git 在执行push、pull、fetch等远程操作时就会优先使用指定的 GitHub 账号不再反复要求手动选择。参考资料Git Credential Manager多账号配置说明。(GitHub)GitHub 官方文档在 Git 中缓存 GitHub 凭据。(GitHub Docs)GitHub 官方文档管理多个 GitHub 账号。(GitHub Docs)

相关新闻

AI安全护栏实战:从“我们没有明天”看大模型内容过滤与RLHF对齐

AI安全护栏实战:从“我们没有明天”看大模型内容过滤与RLHF对齐

最近,不少开发者朋友在讨论一个现象:当你在豆包(字节跳动旗下的AI对话助手)里输入“我们没有明天”时,AI的回应似乎有些“不一样”。这并非一个简单的玩笑或彩蛋,其背后折射出的,是当前AI大模型…

2026/9/21 18:28:39 阅读更多 →
科研生科研效率系统:助力科研人员提升科研产出效能的实用工具

科研生科研效率系统:助力科研人员提升科研产出效能的实用工具

Wispaper官网地址:https://www.wispaper.ai/ 目前,全球学术成果总量已超过3.6 亿篇,覆盖 32 个学科领域,每天还有数万篇新文献加入索引。然而,这些知识中的大部分仍被困在语言的屏障之后。一篇日语论文想要传到柏林的…

2026/9/23 20:51:52 阅读更多 →
常见加密算法解密脚本:从原理到实战的完整指南

常见加密算法解密脚本:从原理到实战的完整指南

1. 从“黑盒”到“白盒”:为什么我们需要了解加密与解密 在数字世界里,数据就像一封封需要传递的信件。为了确保信件内容不被无关人员窥探,我们会把它装进一个特制的、带锁的盒子里,这就是“加密”。而“解密”,就是拿…

2026/9/18 7:59:17 阅读更多 →

最新新闻

基于Python的舆情热点分析平台:从网易新闻爬虫到情感可视化

基于Python的舆情热点分析平台:从网易新闻爬虫到情感可视化

简介:面向Python课程设计与毕业设计的一站式舆情热点分析平台源码,完整覆盖从网易新闻及评论抓取、数据清洗、中文分词、停用词过滤、情感分析、关键词提取到时间序列分析与可视化展示的典型数据科学流程。资源共1403个文件,约23.83MB&#x…

2026/9/24 0:49:52 阅读更多 →
AI Skill 商业化指南:从能力单元到稳定收入的完整路径

AI Skill 商业化指南:从能力单元到稳定收入的完整路径

1. 先搞清楚你手里的 Skill 到底是什么货1.1 Skill 不是“提示词合集”,别把它想小了很多人第一次接触 Skill 这个概念,会下意识觉得“不就是把一段提示词打包一下吗”。这个理解不能说全错,但确实把 Skill 想得太窄了。我见过太多人拿着一个…

2026/9/24 0:49:52 阅读更多 →
YOLO舰船目标检测实战:数据转换、训练调参与部署避坑指南

YOLO舰船目标检测实战:数据转换、训练调参与部署避坑指南

简介:这份资源面向深度学习与计算机视觉方向的学习者和研究者,提供一套基于YOLO算法的舰船目标检测完整实现方案,可用于海上救援、军事侦察、交通控制等场景下的船只自动识别研究。资源包共60个文件,包含55张jpg舰船图像、2个mat数…

2026/9/24 0:49:52 阅读更多 →
C# OnnxRuntime部署DAMO-YOLO人头检测实战指南

C# OnnxRuntime部署DAMO-YOLO人头检测实战指南

简介:本资源是一套面向C#开发者与计算机视觉初学者的DAMO-YOLO人头检测实战部署方案,聚焦安防、人群密度分析等实际场景,解决传统YOLO模型在C#环境难以直接调用的工程落地难题。压缩包共500个文件,含111个运行依赖DLL、4个ONNX模型…

2026/9/24 0:49:52 阅读更多 →
ECG心电信号分类实战:Python与Matlab双版本实现与避坑指南

ECG心电信号分类实战:Python与Matlab双版本实现与避坑指南

简介:这是一份面向医学数据分析、生物医学工程及机器学习初学者的ECG心电信号分类资源包,整合Python与MATLAB两套实现方案,帮助学习者掌握从信号预处理、特征提取到分类建模的完整流程。压缩包共825个文件,约6.25MB,核…

2026/9/24 0:46:51 阅读更多 →
YOLOv7打电话检测实战:双格式数据集与训练部署全解析

YOLOv7打电话检测实战:双格式数据集与训练部署全解析

简介:YOLOv7打电话行为检测项目,面向计算机视觉开发者与边缘设备部署场景,适合需要快速落地手持电话识别功能的工程人员及高校研究者。压缩包提供训练好的权重、完整训练代码以及配套数据集,可直接加载权重进行图片/视频推理&…

2026/9/24 0:46:51 阅读更多 →

日新闻

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为…

2026/9/24 0:00:19 阅读更多 →
单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

单细胞注释实战:基于Scanpy的标记基因与参考映射流程解析

简介:一份基于单细胞RNA测序数据的细胞类型注释算法研究Python毕业设计源码,针对计算机相关专业正在做毕设或需要项目实战的学习者,可用于课程设计与期末大作业。项目代码完整、经导师指导评审通过,可直接运行,覆盖数据…

2026/9/24 0:00:19 阅读更多 →
C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

C#源生成器实战:用增量生成器替代反射,告别AOT崩溃

第一次在项目里被反射卡住,是在一个老旧的WinForms模块里:几十个类依赖PropertyChanged通知,运行时反射读属性、发通知,每次启动慢半拍不说,一上.NET Native/AOT裁剪模式几乎全面崩盘。后来我把这段逻辑全部改成C#源生…

2026/9/24 0:00:19 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/23 4:55:02 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/23 4:49:06 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/23 9:53:41 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/23 9:53:40 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/23 9:53:40 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/23 9:53:40 阅读更多 →