Answers:
git add
对新重命名的文件夹执行一个操作,请勿提交,将文件夹名称改回应有的名称。 ,git add
然后再次提交。
Get-ChildItem '.' | Rename-Item {$_.Name.ToLowerCase()}
如果您使用的是FAT文件系统,则唯一的选择是进行两阶段重命名:
sourceCode.java
为anything.you.like
anything.you.like
为SourceCode.java
在使用Perforce的年代,我们确实遇到了这个问题,这是我们唯一可以想到的解决方案。
以下步骤使我可以在Windows上更改大小写:
ignorecase = false
到[core]
中.git/config
;ignorecase = false
是第一步添加的。这样,您只需提交一个包含重命名的提交,就可以轻松更改例如整个目录。
小心。这样做可能导致无法合并的更改。在Windows上合并时,Git感到困惑,因为它无法确定旧的大写名称和新的小写名称是否是同一文件(对于Git,它们不是,但是对于文件系统,它们是相同的)。要合并,您必须执行一些手动解决方法,例如在合并之前删除文件。
看到具有相同名称但大小写不同的文件的Git rebase问题
我不确定这个问题是否比永远在您的项目中拥有一个非常规命名的文件更糟糕,但是值得知道的是,是否有很多用户的分支很多,最终都需要合并。
我认为缺少一种简单的方法。您可以针对单个文件,特定目录甚至整个存储库执行此操作:
git rm --cached <file name or directory>
git add <file name or directory>
如果您还想影响子目录,则必须使用-r
标志:
git rm -r --cached <directory>
git add <directory>
使用NTFS(或FAT),单个git mv
命令不能解决问题。这个问题显示了一种有效的技术:
git mv和仅更改目录的大小写
git mv
应该可以工作(stackoverflow.com/a/24979063/6309)。即使在Windows上。