如何解决如何在 Git 中提交仅区分大小写的文件名更改?
Git 有一个配置设置,告诉它是否需要区分大小写或不区分大小写的文件系统:core.ignorecase
. 要告诉 Git 区分大小写,只需将此设置设置为false
. (如果您已经推送了文件,请小心,那么您应该首先在给出其他答案的情况下移动它们)。
git config core.ignorecase false
请注意,在不区分大小写的文件系统上将此选项设置为 false 通常是个坏主意。这样做会导致奇怪的错误。例如,以仅更改字母大小写的方式重命名文件将导致 git 报告虚假冲突或创建重复文件(来自 Mark Amery 的评论)。
文档
从git config
文档中:
core.ignorecase
如果为 true,则此选项启用各种解决方法,以使 git 在不区分大小写的文件系统(如 FAT)上更好地工作。例如,如果
makefile
在 git 期望的时候找到了一个目录列表Makefile
,git 将假定它确实是同一个文件,并继续将它记住为Makefile
.默认值为 false,除了git-clone(1)或git-init(1)将在创建存储库时进行探测并
core.ignorecase
在适当的情况下设置为 true。
不区分大小写的文件系统
我所知道的两个最流行的具有不区分大小写文件系统的操作系统是
- Windows
- OS X
只要您只是重命名文件而不是文件夹,您就可以使用git mv:
git mv -f yOuRfIlEnAmE yourfilename
(作为Git 2.0.1的更改-f
,上面标志是多余的,但在较旧的 Git 版本中需要它。)
解决方法
我已经通过取消首字母大写更改了一些文件名,Name.jpg
如name.jpg. Git
无法识别这些更改,我不得不删除这些文件并再次上传它们。Git 在检查文件名更改时是否可以区分大小写?我没有对文件本身进行任何更改。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。