发现个Mac下git很坑的特性。

case如下:

本地修改文件名或文件夹的大小写,git push,服务端是不会有对应的修改记录的。
原因是由于Mac下文件名大小写不敏感。。。Mac虽然是unix的灵魂却用的HFS。
直接改文件名是不会有效果的。

必须如下来一发:

git mv casesensitive Temp

then

git mv Temp CaseSensitive

教训是:

push前一定要仔细看diff

push前一定要仔细看diff

push前一定要仔细看diff

想起以前在windows上写php后端也是同样的情况。codeigniter升级为3.0之后默认Controller首字母大写,因为windows的不区分大小写,我一直用以前支持的小写文件名来开发,在windows test server上运行没问题,从而没暴露出这个问题。而部署到Linux服务器一直404,我重装了n次server环境,就差砸了显示器。

同样类似的还有mysql数据库和表名的大小写敏感,以后出现灵异事件时不妨往这个思路上想想。

mac和windows这个不区分大小写的特性,不知道坑死过多少程序员。