Git:文件重命名

Eri*_*ner 51 git macos case-insensitive

我想将文件夹从" Frameworks" 重命名为" frameworks",但是git不会让我添加新的小写名称.我猜它会对文件名不区分大小写,是吗?

A git add frameworks/ -f没有帮助

Von*_*onC 97

你可以试试:


msysgit问题228(再次:现在应该- 2014年6月 - 使用git 2.0.1)中描述了案例问题(例如在Windows上)

总有一个选项ignorecase在配置文件中设置为false,这将强制Unix在NTFS之上使用Git语义.
Git的支持这种行为,但它不是默认-但从NTFS点a.txt ,并A.txt有同样的事情-这样的Git尝试保留,由于大多数用户所期望

作为更好的解决方法,您可以

git mv foo.txt foo.txt.tmp && git mv foo.txt.tmp Foo.txt
Run Code Online (Sandbox Code Playgroud)

,这也改变了存储在磁盘上的文件的大小写.

此博客文章说明了在rebase期间MacOs上的相同问题:

Mac OS X文件系统的默认设置是它们不区分大小写.FFFFFF.gif是一样的ffffff.gif.

如果您删除有问题的文件,只是从文件系统而不是Git索引,请注意,您可以合并有问题的分支,并让它恢复文件,就好像什么都没发生一样.

步骤很简单:

$ rm file/in/question.gif
$ git merge trunk
Run Code Online (Sandbox Code Playgroud)

无论如何,记住git mv代表什么:

mv oldname newname
git add newname
git rm oldname
Run Code Online (Sandbox Code Playgroud)

,所以如果newnameoldname冲突,你需要使它们不同(即使只是在短时间内),因此git mv foo.txt foo.txt.tmp && git mv foo.txt.tmp Foo.txt