我正在开发一个在Git版本控制下的OS X Lion上的项目。我有这些小写的目录,然后把它们大写(例如emailaddresses => emailaddresses),但Git似乎没有识别出这个变化。当我运行git ls-files和其他命令时,它仍然认为目录是小写的。
这是无害的吗,或者我应该做一些其他的事情来让Git接受这个更改?
我正在开发一个在Git版本控制下的OS X Lion上的项目。我有这些小写的目录,然后把它们大写(例如emailaddresses => emailaddresses),但Git似乎没有识别出这个变化。当我运行git ls-files和其他命令时,它仍然认为目录是小写的。
这是无害的吗,或者我应该做一些其他的事情来让Git接受这个更改?
当前回答
以下步骤帮助我解决了这个问题:
重命名文件夹为temp: mv文件夹temp //将你的文件夹重命名为temp 舞台和承诺: Git添加。 git commit -m "Temp" 重命名临时文件夹为您选择: mv temp文件夹//将temp文件夹重命名为您选择的名称(文件夹) Git添加。 git commit -m "Folder Fixed"
完成-你现在可以推了。
其他回答
你可以告诉git通过运行来考虑这种情况
Git配置核心。ignorecase假
您可能正在使用不区分大小写(但保留大小写)的HFS+。我通常是这样做的:
$ git mv somename tmpname
$ git mv tmpname SomeName
这些实际上都没有帮助我,我仍然有git告诉我隐藏我的更改,因为我的情况是,我的本地文件夹是大写的,但远程不是,我的分支是落后的,我不能再拉,因为文件夹结构中的文件大写差异。
我能解决这个问题的唯一方法是删除我的本地分支并签出远程。
您也可以在不使用GIT命令的情况下手动完成此操作。在.git文件夹中,只需删除带有你想要的名称的文件夹,即SomeName。然后将文件夹somename重命名为somename。更多细节在:如何修复文件夹名称设置为大写和git转换为小写
如果你执行git mv AAA AAA或git mv -f AAA AAA,它将不起作用,你将遇到致命错误:重命名'AAA' failed:无效参数。
因为AAA和AAA在不区分大小写的文件系统中是同一个文件夹/文件,所以将AAA移动到AAA意味着将AAA移动为AAA /AAA。
所以你应该这样做
git mv AAA aaa.1
git mv aaa.1 aaa
希望对你有所帮助。