【发布时间】:2017-02-05 07:32:52
【问题描述】:
我们的团队正在使用 Git for Windows 和带有 GitHub 的 Git Extensions 作为远程存储库。人们创建了大小写不一致的分支,当两个人为同一个分支使用不同的名称(仅区分大小写)时,这会导致一些问题。
我们希望对所有分支名称都使用小写进行标准化以避免这个问题,但是我们如何将所有现有的分支名称转换为小写呢?有很多分支,包括本地和远程的,有些还有未完成的拉取请求。我只关心“活跃”的分支,即人们会再次推送的分支。
我尝试了https://gist.github.com/lttlrck/9628955 中列出的步骤,但遇到了一些问题。首先,我无法在 Windows 中将“BranchName”直接重命名为“branchname”,但是可以,这可以使用临时名称来解决。
更严重的问题是我们在分支中有“文件夹名称”,例如“测试/重命名测试”。当我将本地分支重命名为“test/renametest”时,它似乎可以工作,但随后推送它失败并显示fatal: test/renametest cannot be resolved to branch. 我认为这是因为我还有其他名为“Test/Whatever”的分支,所以“文件夹名称”仍然存在“测试”,而不是“测试”。必须手动重命名每台机器上签出的每个分支是一个令人生畏的前景。我希望有更好的解决方案。
【问题讨论】:
-
是否有不能删除所有非活动分支的原因?
-
我们可以 - 他们不是问题。所有活动的分支都是问题。
-
哦,好吧。 “必须手动重命名曾经在每台机器上签出的每个分支”听起来像是包含了不活动的分支。
-
实际上,我认为非活动分支是一个问题,因为它们在 .git/refs 目录下设置了文件夹名称。因此,如果有人签出了“Test/One”(非活动),当他们尝试重命名并推送“Test/Two”(活动)时,仍然会出现问题。
标签: git github branch git-branch case-sensitive