我想将文件夹从“Frameworks
”重命名为“frameworks
”,但git不会让我添加新的小写名称。我想它对待文件名不区分大小写,是吗?Git:文件重命名
一个git add frameworks/ -f
没有帮助
我想将文件夹从“Frameworks
”重命名为“frameworks
”,但git不会让我添加新的小写名称。我想它对待文件名不区分大小写,是吗?Git:文件重命名
一个git add frameworks/ -f
没有帮助
你可以试试:
"git mv -f foo.txt Foo.txt"
(注:这是no longer needed since git 2.0.1)ignorecase
假在配置文件中。但情况(Windows上的实例)中的问题msysgit issue 228描述(再次:这应该now -- June 2014 -- work with git 2.0.1)
总有设置
ignorecase
假的一个选项配置文件将强制Unix像Git语义在NTFS之上。
的Git支持这种行为,但它不是默认 - 但从NTFS点a.txt
和A.txt
是同样的事情 - 这样的Git尝试保留,由于大多数用户所期望
作为一个更好的解决方法,您可以
git mv foo.txt foo.txt.tmp && git mv foo.txt.tmp Foo.txt
,这也改变了存储在磁盘上的文件的情况。
本博客文章illustrates the same issue on MacOs一个重订期间:
在Mac OS X文件系统默认是,他们是不区分大小写。
FFFFFF.gif
与ffffff.gif
相同。如果您删除有问题的文件,只是从文件系统而不是从Git索引,请注意,您可以合并有问题的分支,并让它恢复文件,就好像没有任何事情发生一样。
的步骤非常简单:
$ rm file/in/question.gif $ git merge trunk
总之,remember what git mv stands for:
mv oldname newname
git add newname
git rm oldname
,所以如果newname
和oldname
冲突,你需要让他们不同的(即使它只是短暂的一段时间),因此git mv foo.txt foo.txt.tmp && git mv foo.txt.tmp Foo.txt
我已经尝试过'git mv',但它给了我致命的结果:'重命名'框架'失败:无效参数' – 2010-10-13 06:13:40
@Erik:你试过的命令行是什么? – VonC 2010-10-13 06:14:24
好吧,2步'git mv'确实有效! – 2010-10-13 06:20:31
我有一个类似的问题,无法获得新的文件夹名称(不同的情况下)在远程回购更改。我发现最简单的解决方案只是将文件移出回购并提交。触发删除操作。然后重新添加,当我添加时,它进入了适当的情况。
如果您碰巧在Github上托管,则可以在其网站上使用重命名功能。不得不改变5个文件的外壳,发现它工作得很好。
哪个操作系统? – 2010-10-13 06:05:34
我运行MacOS 10.6 – 2010-10-13 06:08:20