gpt4 book ai didi

windows - GitHub 分支 : Case-Sensitivity Issue?

转载 作者:可可西里 更新时间:2023-11-01 09:44:11 26 4
gpt4 key购买 nike

由于远程上的某些分支,我似乎遇到了存储库不断在本地重新创建分支的问题。我在 Windows 机器上,所以我怀疑这是一个区分大小写的问题。

这是一个示例夫妇命令:

$ git pull
From https://github.com/{my-repo}
* [new branch] Abc -> origin/Abc
* [new branch] Def -> origin/Def
Already up to date.

$ git pull -p
From https://github.com/{my-repo}
- [deleted] (none) -> origin/abc
- [deleted] (none) -> origin/def
* [new branch] Abc -> origin/Abc
* [new branch] Def -> origin/Def
Already up to date.

当做 git pull ,有问题的分支是大写的。当我做 git pull -p (用于修剪),它首先尝试删除分支的小写版本,然后创建大写版本。

远程分支大写( origin/Abcorigin/Def )。

我试图临时更改我的 Git 配置,以便 ignorecase=false (目前是 ignorecase=true )。但我注意到行为没有变化。我猜我的一端有一些本地的东西目前正固定在那些小写的分支上。但是 git branch不会在本地显示这些分支的任何版本。

如果没有完全清除存储库(尝试 pull/取时,单独文件夹中的新 git clone 不会 pull 出这些幻影分支),我能做些什么吗?

最佳答案

在 Git 上,分支只是指向提交的指针。分支存储为您的 .git 上的纯文件存储库。

例如,您可能有 abcdef .git/refs/heads 上的文件.

$ tree .git/refs/heads/
.git/refs/heads/
├── abc
├── def
└── master

这些文件的内容只是分支指向的提交号。

我不确定,但我认为选项 ignorecase仅与您的工作目录相关,而不是 .git文件夹。因此,要删除奇怪的大写分支,您可能只需要删除/重命名 .git/refs/heads 中的文件。 .

除此之外,从本地分支到远程分支的上游链接存储在 .git/config 上。文件。在此文件中,您可能有以下内容:
[branch "Abc"]
remote = origin
merge = refs/heads/abc

请注意,在此示例中,远程分支名为 Abc但本地分支是 abc (小写)。

为了解决您的问题,我会尝试:
  • 修改.git/config文件
  • 重命名 .git/refs/heads 中损坏的分支如 abc更名 abc-old
  • 试试你的 git pull
  • 关于windows - GitHub 分支 : Case-Sensitivity Issue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55051729/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com