为什么Visual Studio 2019改变了我在ADO中创建的分支中的一些字母的情况?



我在Azure DevOps (ADO)中创建了一个分支,所有分支都是小写字母:alwayson/user/jr/870397。然后我去了Visual Studio 2019,在团队资源管理器中做了一个Fetch。在Team Explorer中,我将分支过滤为"870397"。Visual Studio显示的是遥控器上的一个分支,其中'a'和'o'已被更改为大写:AlwaysOn/user/jr/870397.

为什么VS做这种情况改变,有没有一种方法来防止它这样做?我在VS.

中找不到设置或相关属性。

Azure本身不应该改变任何东西。

它的文档甚至包括:

分支和标签名称

您可以创建两个分支或标记(称为'ref '),它们仅在大小写上不同。
Git的内部,以及Azure DevOps服务/TFS,将把它们作为两个独立的refs。在用户的机器上,Git使用文件系统来存储引用。

读取和其他操作由于歧义而开始失败。每个ref由一个小文件表示,如果一个ref包含/字符,则最后的/之前的部分由文件夹表示。

避免问题的一个简单方法是始终使用全小写的分支和标记名。如果你已经创建了两个分支或带有此问题的标签,你可以在Azure Repos web UI中修复它。

所以在本地用git branch -avv检查分支的完整列表,看看你已经获取了什么。