怎么了
20210330半夜出版本,碰到切换英雄语音时,没有关闭上一个英雄语音。检查发现是因为语音文件大小写导致的。直接重命名资源,git并没有产生正确的变动记录,于是便无法修正远程仓库的内容。
怎么解决
原理
- 确认git开启了大小写敏感。执行
git config --global core.ignorecase false
,开启全局 *大小写敏感 。 - 用命令重命名文件。
git mv -f [你想要删掉的文件] [你想要留下的问题]
git mv -f a.cs A.cs
实际
- 用 everything 列出语音文件夹下的所有文件,复制出所有的路径。
- 放到 vscode 中,用 vim 宏命令修改所有音效文件名为小写,并在每行前方加上
git mv -f
。 - 全部复制到命令行里,全部执行。最后 git 有了重命名的变更记录,提交即可。
总结
- 中间重命名的时候,想批量处理,因为他们是有规则的,所以必然可以用程序处理,但是对 shell ,python 都不熟悉,没法快速处理,才绕道 everything + vim 。所以还是要学习下这种简单的,随时可以用的工具。
- 中间还想在判断字符串是否相同时,忽略大小写,但是这样就热更不了了,因为是写在 C# 层的 。但是 get 到了新知识,
StringComparison.Ordinal
的比较效率是最高的。