【发布时间】:2017-08-20 16:28:14
【问题描述】:
我曾经有一个名为 ViewMVC.java 的文件,其中包含 ViewMVC 类的声明。
后来,我决定将课程重命名为ViewMvc。结果,文件名更改为ViewMvc.java。我很久以前就把这个更改推送到远程了。
我面临的问题是,当我克隆远程仓库时,文件被拉为ViewMVC.java(类名是ViewMvc,正如预期的那样)。换句话说 - 由于某种原因,文件的名称被恢复为旧名称。
我尝试再次更改名称并推送到远程,但问题并没有通过这种方式解决。
任何想法为什么会发生这种情况以及如何解决这个烦人的问题?
【问题讨论】:
-
您使用的是什么操作系统?我想知道 Windows 不区分大小写的文件系统是否在混乱中发挥了作用......
-
@MarkAdelsberger 我正在使用混合。我的台式机是 Windows,笔记本电脑是 OSX,现在我正在尝试在 centOS 上启动持续集成服务器。但我倾向于相信更改文件名的原始提交是在 Windows 上进行的......
-
默认情况下Windows和OSX都使用不区分大小写的匹配,所以
MVC和Mvc是同一个文件。 Git 有一个配置旋钮,core.ignoreCase,告诉它是相信那些是相同的文件还是不同的文件。简单地调整旋钮是不够的,因为 Git 对旋钮的使用是为了感知操作系统将如何处理它,并且您需要 both Git 和 操作系统来区分大小写-敏感的(就像 CentOS 一样)在这里。至于修复它的最佳方法,好吧,我避免使用 Windows;我可以在 OSX 上测试,但没有,所以不知道。