Git使用普通名称获取一次分支,并使用大写字母获取一次

Shl*_*iTC 5 git case-insensitive remote-branch git-fetch

我正在寻找远程分支并陷入某种循环.

我取一次然后得到:

$ git fetch
* [new branch]      minorRelease/something-> origin/minorRelease/something
Run Code Online (Sandbox Code Playgroud)

然后我再次获取并得到:

$ git fetch
* [new branch]      minorRelease/Something-> origin/minorRelease/Something
Run Code Online (Sandbox Code Playgroud)

相同的分支但有资本S.

我试图从以下文件夹中删除该文件.git/refs/remotes/origin/minorRelease,但是当再次获取时,我得到两个并返回上面的循环:

$ git fetch
* [new branch]      minorRelease/Something-> origin/minorRelease/Something
* [new branch]      minorRelease/something-> origin/minorRelease/something
Run Code Online (Sandbox Code Playgroud)

Lan*_*dys 7

@torek是正确的,它是由的差异造成的LinuxWindows.Linux区分大小写,而Windows不是.您可以使用它ls-remote来显示服务器中的分支.

git ls-remote --heads origin
Run Code Online (Sandbox Code Playgroud)

我认为在你的情况下,输出应该包括两个分支,只有S不同的情况.

ref/heads/minorRelease/Something
ref/heads/minorRelease/something
Run Code Online (Sandbox Code Playgroud)

如果发现其中一个实际上是重复的,则可以删除远程分支.然后再做fetch一次.现在应该没问题.

git push origin :minorRelease/Something
git fetch
Run Code Online (Sandbox Code Playgroud)