如何在 Windows 上处理 Git 上的区分大小写的分支

How to handle case sensitive branches on Git over Windows

我正在做的一个项目有两个分支,命名为: Feature/something 和 feature/something

我需要在这两个方面工作一段时间

在 Windows 我在使用 GitBash 和 AndroidStudio 时遇到错误。

检出 Feature/something 后,在拉取或获取时我收到以下错误:

git fetch
error: cannot lock ref 'refs/remotes/origin/Feature/something': is at 0dd1cd393b4af49d2ad90a22c813b607078a7e0c but expected 44b50f539d55835a9e2e1f22c406561bf4a6dc95
From http://myurl/myproject
 ! 44b50f5..600f329  Feature/something -> origin/Feature/something  (unable to update local ref)

我在 feature/something 分支上工作没有问题。

再次克隆并首先检查 Feature/something 分支时,我可以在该分支上正常工作,但问题出现在 feature/something 分支上。

知道如何在同一本地存储库中的两个分支上工作吗?

您可以使用自定义 push/fetch refspecs 将它们映射到不同的分支。所以,你应该有这样的东西:

[remote "origin"]
  ...
  fetch = refs/heads/feature/something:refs/remotes/origin/feature-something-l
  fetch = refs/heads/Feature/something:refs/remotes/origin/feature-something-u
  fetch = refs/heads/*:refs/remotes/origin/*

...以及一些相应的推送规范