Visual Studio 2019为何修改Azure DevOps分支字母大小写?如何避免?
问题原因及解决方案
为什么VS 2019会修改分支名称的大小写?
这主要和Windows文件系统的大小写不敏感性以及Git的默认配置有关:
- Windows的NTFS文件系统默认不区分大小写,Git在Windows环境下默认配置
core.ignorecase=true,该配置会让Git处理分支名称时自动做大小写兼容处理,可能导致本地显示的分支名和远程实际分支名出现大小写差异。 - 若本地之前存在过大小写不同的同名分支(比如
AlwaysOn/...),Git的本地缓存未及时清理,Fetch时会沿用旧的分支名称显示。 - VS 2019的团队资源管理器直接依赖本地Git仓库的分支信息,因此会同步显示Git处理后的分支名称。
如何避免这个问题?
可以通过以下步骤修复并规避:
- 确认远程分支的真实名称:登录Azure DevOps网页端,检查目标分支实际名称是否为全小写的
alwayson/user/jr/870397,排除创建分支时的手动输入错误。 - 清理本地Git的远程分支缓存:
- 打开Git Bash(或VS内置终端),执行命令清理无效的远程跟踪分支:
git remote prune origin - 强制重新Fetch远程分支,确保本地获取最新分支信息:
git fetch origin --prune --force
- 打开Git Bash(或VS内置终端),执行命令清理无效的远程跟踪分支:
- 手动删除错误的本地跟踪分支(若上述步骤无效):
- 若本地仍显示错误大小写的分支,执行命令删除该跟踪分支:
git branch -d -r origin/AlwaysOn/user/jr/870397 - 再次执行
git fetch origin重新拉取分支。
- 若本地仍显示错误大小写的分支,执行命令删除该跟踪分支:
- 调整VS及Git的缓存:
- 重启VS 2019,刷新团队资源管理器的分支列表;
- 若仍有问题,删除项目目录下的
.vs文件夹(VS本地缓存),重新打开项目。
注意:不建议在Windows环境下将core.ignorecase改为false,这可能导致Git与Windows文件系统的兼容性问题,引发更多分支或文件冲突。
内容的提问来源于stack exchange,提问作者BlackRockJohnny
相关产品推荐
相关产品推荐

