我正在获取远程分支并陷入某种循环。
我获取一次并得到:
$ git fetch
* [new branch] minorRelease/something-> origin/minorRelease/something
然后我再次获取并得到:
$ git fetch
* [new branch] minorRelease/Something-> origin/minorRelease/Something
相同的分支,但大写 S
。
我试图从以下文件夹 .git/refs/remotes/origin/minorRelease
中删除文件,但是当再次获取时,我得到了两个并返回到上面的循环:
$ git fetch
* [new branch] minorRelease/Something-> origin/minorRelease/Something
* [new branch] minorRelease/something-> origin/minorRelease/something
最佳答案
@torek
是的,这是Linux
和Windows
的不同造成的。 Linux
区分大小写,而 Windows
不区分大小写。您可以使用 ls-remote
来显示服务器中的分支。
git ls-remote --heads origin
而且我认为在您的情况下,输出应该包括两个分支,只有 S
的情况不同。
ref/heads/minorRelease/Something
ref/heads/minorRelease/something
如果您发现其中一个实际上是重复的,您可以删除远程分支。然后再次执行 fetch
。现在应该没问题了。
git push origin :minorRelease/Something
git fetch
关于Git 一次使用普通名称获取一个分支,一次使用大写字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26085872/