生命不息,爬坑不止。
背景
本来自己在win10上面开发,导致两个问题。php的运行在win环境下面对好多内容大小写不敏感。而跑到Linux上面之后,又敏感了,导致了环境报错。码代码的时候,新建的文件夹也不严谨。而git本身对大小写就不敏感,在本地改了文件夹的名称之后,结果git检测不到,就不会对文件进行commit上传。导致生产环境的文件夹名称不会自动变化过来。出现问题之后,为了快速相应客户要求,线上直接改动文件夹名称。不过下次git pull回来之后,改的还在原来的文件夹下面。
如此神烦,开始找解决方案。
踩坑
最开始出现问题,不让merge,或者切换分支。
– error: The following untracked working tree files would be overwritten by merge:
– common/libs/db/SphinxQL.php
– Please move or remove them before you can merge.
– Aborting
这时候去网上找方法,git clean -fx -d 。这个会把你所有不在git管理中的文件统统删除。
而我去生产环境试了下,然后把upload下面的文件统统给删除了,统统删除了,统统删除了!!!!
唯一值得欣慰的是,项目刚上线,基本上没什么正式数据。手动补了下,还可以。所以千万不要用git clean -fx -d。
这里提供一个方法,不一定是最优,供大家参考。
第一,先备份。
第二, git rm [错误文件] -f
第三,git add [正确文件]
这时候有可能两个都删除了,就手动新建一下。然后git push。 发现问题解决。
谨记,重要操作先备份!备份!备份!