Git删除具有不同大写的相同文件

时间:2016-11-08 13:57:38

标签: git

由于某些必需品,我更改了.git/config ignorecase = false以便区分大小写。然后将文件从大写重命名为小写。例如,我手动将Account_Model.php重命名为Account_model.php,甚至是其他分支。

根据不同的情况,git生成Uncommitted changes,然后我用小写提交了新文件(git假设小写的新文件)。

现在我遇到了麻烦。我将服务器的repo拉到哪里进行部署,该目录创建了2个文件。一个是Account_model.php(我想要的),另一个是Account_Model.php

他们分别成了两个文件!但转回我的本地,我只在目录中看到1个文件。 (因为一个,我不能删除大写的一个)

如果我更改其中一些,那么具有不同情况的两个文件将同时发出警报。差异显示相同的修改。

Two file with same diff

但我只能在目录中看到一个。

Only 1 file in the directory

我不能删除大写的一个。 (如果可以的话,我认为小写的一个也会被删除。

有一种方法可以通过命令改变大小写。我知道,我选错了方法。

那么如何处理这两个案例文件,并保留更改(只有一个小写的文件)?

非常感谢你。

1 个答案:

答案 0 :(得分:6)

OS X的文件系统默认情况下不区分大小写。因此,如果您在Git存储库中有两个文件具有相同的名称但不同的情况,则会遇到您现在遇到的问题。

一个简单的解决方法是使用“磁盘工具”创建区分大小写的磁盘映像,将repo克隆到该映像,修复问题并推送修复。

制作磁盘映像......

  • 打开磁盘工具。
  • 执行文件 - >新图片 - >空白图片。
  • 将格式设置为OS X Extended(区分大小写,日记)。

enter image description here

它会自动挂载并在/Volumes等你。克隆后,您应该看到这两个文件,并可以随意使用它们。