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

标签 git case-insensitive git-fetch remote-branch

我正在获取远程分支并陷入某种循环。

我获取一次并得到:

$ 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 是的,这是LinuxWindows 的不同造成的。 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/

相关文章:

git - 在 git post-receive hook 中 merge

git - 如何以编程方式将文件上传到 github 存储库的下载区域?

django-orm 不区分大小写的顺序

firebase - 使用 Firebase orderByChild 进行不区分大小写的排序

variables - .emacs 中区分大小写的 setq 没有效果

Git:git svn fetch 是如何工作的?

Git 从浅克隆中查找自 <ref> 以来修改过的文件

带有供应商目录的 git 工作流程

ruby - 尝试使用现有 git 存储库上传 Sinatra 应用程序时出现 "Heroku push rejected, no Cedar-supported app detected"

从另一个分支 merge Git - 3 种不同的方法 - 都能正常工作吗?