Git 当前本地分支旁边未显示星标

Git not showing star next to current local branch

我是 git 的新手,遇到了一个令人困惑的情况。

总而言之,我无法理解与分支名称相关的区分大小写的工作原理。例如,我在主分支上并使用命令 git checkout -b AP-1025 创建一个名为 AP-1025 的新分支,现在我可以执行 git branch 并且我看到我在 AP-1025 上,因为它有一个旁边的星星。

现在假设我对 AP-1025 进行了一些更改,提交它们,然后使用 git checkout master 切换回 master。我回到了 master 并且一切都很好,但是如果我现在做 git checkout ap-1025(注意小写字符,没有 -b,这意味着新分支是 而不是 创建)。它告诉我我已经切换到 ap-1025,但是这次当我执行一个 git branch 时,AP-1025 确实 没有 旁边有一个星号,并且没有分支出现,旁边有一颗星。

我的困惑是因为 git 允许我执行 git checkout ap-1025 而不会抱怨缺少分支,所以我假设分支名称不区分大小写。但是 git branch 并不表示我真的在 AP-1025 分支上,这表明分支 naming/commands 的某些部分是 区分大小写的。

那时候我真的在AP-1025上吗?为什么 git branch 没有显示任何旁边有星号的分支?这是 git branch 命令中的错误吗?

非常感谢任何指点。

我猜你使用 Windows。 Git 将分支存储为磁盘上的文件。分支名称也作为名称存储在 HEAD 引用中。在 Windows 上,如果您创建文件 AP-1025,您可以稍后将其打开为 ap-1025,这会导致 git 中的错误行为,因为名称实际上不同,但 Windows 允许打开文件以读取分支信息。