Git

Git 实用技巧 - 区分文件名大小写

Git Practical Tips - Ignore Case

Posted by zihengCat on 2018-06-07

前言

Git默认配置对于文件名大小写不敏感,即不区分文件名大小写。这意味着,如果我们只修改了文件名大小写(大写字母改小写或小写字母改大写),Git并不会侦测到任何改动。这一默认配置有时候会对项目开发造成影响。

Windows 系统默认不区分大小写,macOS 默认是Mac OS 扩展(日志式)磁盘格式,也不区分大小写,而 Linux 则是区分大小写的,或许是为了系统兼容性考虑,Git选择默认不区分文件名大小写。

Git中启用大小写敏感

在一枚git仓库中,我们可以使用如下命令启动大小写敏感模式。

$ git config core.ignorecase false

代码清单:git启用大小写敏感模式

也可以加入--global参数将配置项写入.gitconfig全局配置文件中。

...
[core]
        ignorecase = false
...

代码清单:.gitconfig大小写敏感模式

在默认配置「文件名大小写不敏感」的情况下,使用git mv命令来修改文件名,也可以让git侦测到文件名称的变动。

$ git config core.ignorecase true
$ git mv <old_name> <new_name>

代码清单:使用git mv修改文件名

参考资料