我正在尝试使用Eclipse重命名文件的示例项目。首先,我做了一个提交并推送到GitHub。该文件为Samplemain.java
。如果我将该文件重命名为SampleMain.java
,如果我尝试使用TortoiseGit提交重命名的文件,我将无法提交。相反,它通过一个小对话框显示错误。
请告诉我在Git中使用区分大小写重命名文件的解决方案。 我使用的是Windows,错误对话框如下所示。
答案 0 :(得分:4)
这是TortoiseGit的问题,而不是Git本身。如果您使用命令行提交它将起作用,我现在检查它。请注意,重命名仍然需要2 git mv
个命令,但只需要一个git commit
。
另一种方法是在GitHub上重命名文件:在GitHub上编辑文件时,在顶部注意您可以更改名称。之后你可以从中拉出来。
答案 1 :(得分:3)
在Windows命令行(MINGW控制台)中运行以下命令。它应该解决案件检测问题。
git config core.ignorecase false
答案 2 :(得分:0)
两阶段重命名...将其命名为“z.tmp”,然后返回到您真正想要的名称。
我知道使用Subversion我必须在两步重命名之间提交,但是对于Mercurial,我不这样做。
不确定Git是否需要它。
答案 3 :(得分:0)
显然有一个实用工具:https://github.com/tawman/git-unite
我自己还没能尝试,因为作者没有提供最终的exe文件,我在尝试运行构建脚本时遇到了问题。但它似乎是一种可以更轻松地解决这个问题的实用工具。
它搜索repo和文件夹之间的名称 - 外壳不匹配,并更新repo以匹配该文件夹,然后让您只提交一个版本的文件。因此,只需将Windows资源管理器中的名称更改为您想要的名称,然后运行该实用程序即可。 (可能之后是提交 - 不确定)