我通过将第一个字母去大写来更改了一些文件名,如name.jpg中的name.jpg。Git无法识别这些更改,我不得不删除这些文件并再次上传。在检查文件名的更改时,Git是否可以区分大小写?我没有对文件本身进行任何更改。


当前回答

使用以下命令:

git config --global  core.ignorecase false

您可以全局配置git系统,使其对文件和文件夹名称区分大小写。

其他回答

我们可以使用gitmv命令。例如,如果我们将文件abcDEF.js重命名为abcDEF.js,那么我们可以从终端运行以下命令

git mv -f .\abcDEF.js  .\abcdef.js

与@Sijmen的答案类似,这是我在OSX上重命名目录时的工作原理(灵感来自另一篇文章的答案):

git mv CSS CSS2
git mv CSS2 css

简单地执行git-mv-CSS CSS会产生无效参数错误:致命:重命名“/static/CSS”失败:无效参数可能是因为OSX的文件系统不区分大小写

p.s BTW如果您使用的是Django,collectstatic也无法识别大小写差异,您必须在静态根目录中手动执行上述操作

使用SourceTree,我可以从UI完成所有这些

将FILE.ext重命名为whatever.ext暂存该文件现在将whatever.ext重命名为file.ext再次暂存该文件

这有点乏味,但如果你只需要对几个文件进行处理,那就很快了

当你做了很多文件重命名,其中一些只是改变了大小写,很难记住是哪一个。手动“git移动”文件可能需要一些工作。因此,在文件名更改任务期间,我要做的是:

将所有非git文件和文件夹删除到不同的文件夹/存储库。提交当前的空git文件夹(这将显示为所有文件已删除。)将所有文件添加回原始git文件夹/存储库。提交当前非空的git文件夹。

这将解决所有的案例问题,而不需要找出您重命名的文件或文件夹。

将文件Name.jpg重命名为name1.jpg提交删除的文件Name.jpg将文件name1.jpg重命名为name.jpg将添加的文件名.jpg修改为上一次提交git添加名称.jpg修改最后一次提交