Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将本地文件强制带到远程git_Git_Github - Fatal编程技术网

将本地文件强制带到远程git

将本地文件强制带到远程git,git,github,Git,Github,除了我的文件名大写为CompleteController.csc外,所有更改都被完美地推送,但在我的git repo中,它显示的是小写的CompleteController.csc。git有一个配置设置,告诉它是区分大小写还是不区分大小写:core.ignorecase。要让Git区分大小写,只需将此设置设置为false: git config core.ignorecase false 文档 从: core.ignorecase 如果为true,该选项将启用各种变通方法,使git能够更好地在

除了我的文件名大写为CompleteController.csc外,所有更改都被完美地推送,但在我的git repo中,它显示的是小写的CompleteController.csc。

git有一个配置设置,告诉它是区分大小写还是不区分大小写:
core.ignorecase
。要让Git区分大小写,只需将此设置设置为
false

git config core.ignorecase false
文档 从:

core.ignorecase

如果为true,该选项将启用各种变通方法,使git能够更好地在不区分大小写的文件系统(如FAT)上工作。例如,如果一个目录列表在git需要
makefile
时发现
makefile
,git将假定它实际上是同一个文件,并继续将其作为
makefile
来记住

默认值为false,除非或将在创建存储库时探测并设置
core.ignorecase
true(如果适用)

将文件重命名为原始名称,然后使用
git mv
函数将函数“移动”为“新”名称

例子:
为什么我不能简单地重命名git下的文件? 原因是不跟踪文件,而是跟踪内容。Git不关心文件名是什么,它从没有名称的内容计算SHA-1,并且名称保存在其他位置(在*.idx文件中,而不是在pack文件中)

如何在git下重命名文件? 如上所述,git不存储包含内容的文件名。查看附件中的图像,粉红色部分存储内容,而蓝色部分是内容的“元数据”,因此要重命名文件,必须告诉git在其内部存储器中重命名该文件(蓝色部分)


您可能在Windows上,因此文件系统不区分大小写。因此,您不能相信您在文件系统上看到的情况

要解决它,你可以试试

git mv -f <name-on-your-filesystem> <name_with_the_correct_case>

仔细的Git的不区分大小写取决于通常由您的操作系统(以及随后的文件系统)管理的操作系统。我不确定您引用的是什么。如果“Git是incase-sensitive.”是您自己的文本,请不要将其作为引用。如果不是您自己的文本,请在您的答案中包含某种形式的属性。我没有正确表达它,默认情况下git区分大小写,除非您设置所需的配置值。修复了问题的答案要清楚,NTFS是您想要的:Win32选择保留大小写。它不是完全不区分大小写的。我建议在本地删除该文件并将其签出,以查看是否可以快速修复。如果不是。。。您需要在本地手动重命名它。
git mv -f <name-on-your-filesystem> <name_with_the_correct_case>
git mv -f COMPLETECONTROLLER.cs CompleteController.cs