通常是在Mac上开发程序,使用Git进行版本管理。在使用React编写Components时,一般建议组件名首字母大写。“有些同学给React组件的文件命名的时候,一开始是小写的,后来为了保持团队一致,改成大写的。但是git不会发现大小写的变化,这时候就出问题了。”再梳理一下这个逻辑:小明写组件button.js,提交代码小明觉得组件名不合适,改成Button。构建,Git识别到button.js的大小写发生了变化,所有引用了Button.js的组件都报错,无法重现出错的过程:#开头的测试文件来自~/Documents/ignorecase的内容-test(master?)cattesthello#将测试文件改为首字母大写的测试文件~/Documents/ignorecase-test(master?)mvtestTest#注意此时gitstatus没有变化~/Documents/ignorecase-test(master?)~/Documents/ignorecase-test(master?)gitls-filestest~/Documents/ignorecase-test(master?)lsTest解决方法通过gitmv,在Git暂存区再次更改文件大小写即可解决问题$gitmvtestTest但是修改文件裁剪的时候会出现一些问题:fatal:renaming'dir'failed:Invalidargument使用下面的傻逼方法修改:$gitmvdirDirTemp$gitmvDirTempDir预防措施有什么预防措施吗?”Git默认忽略大小写,如果改成不忽略大小写就可以了吗?不行,这样会引起比较麻烦的问题。"改成不忽略大小写[core]ignorecase=false问题如下:"修改文件名时,一次将两个文件添加到Git工作区,不能删除""当gitrm删除一个文件时,工作区两个文件都被删除了"~/Documents/ignorecase-test(master?)lstest~/Documents/ignorecase-test(master?)mvtestTest~/Documents/ignorecase-test(master?)lsTest~/Documents/ignorecase-test(master?)gitstatusOnbranchmasterUntrackedfiles:(use"gitadd
