Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/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
Can';由于区分大小写,无法将文件添加到git中的暂存区域_Git_Staging_Atlassian Sourcetree - Fatal编程技术网

Can';由于区分大小写,无法将文件添加到git中的暂存区域

Can';由于区分大小写,无法将文件添加到git中的暂存区域,git,staging,atlassian-sourcetree,Git,Staging,Atlassian Sourcetree,我的工作副本下有一个更改的文件列表,但文件保留在未老化区域。我使用SourceTree,每次我将文件拖放到暂存区域时,它们都不会移动 我试过使用: git add -A 但是我没有运气,在那之后,如果我做了git status,文件将保留在未老化的区域 有趣的是,我对系统上的另一个文件夹执行了一个干净的克隆,文件会自动显示为已更改 运行git状态显示: git status --short M resources/file1 M Resources/file1 M resources/f

我的工作副本下有一个更改的文件列表,但文件保留在未老化区域。我使用SourceTree,每次我将文件拖放到暂存区域时,它们都不会移动

我试过使用:

git add -A
但是我没有运气,在那之后,如果我做了
git status
,文件将保留在未老化的区域

有趣的是,我对系统上的另一个文件夹执行了一个干净的克隆,文件会自动显示为已更改

运行git状态显示:

git status --short
 M resources/file1
 M Resources/file1
 M resources/file2
 M Resources/file2

看起来要么是您更改了git已经跟踪的某些文件的路径,而git对此不太满意,要么是您或有权访问您的repo的人对git配置的ignorecase标志进行了修改

尝试在存储库的根目录下运行此操作,并查看结果:

cat.git/config | grep“ignorecase”

从文档中,我认为只有您才能更改已克隆工作副本的标志,但在执行新克隆时,标志可能会设置为true

尝试查看您的干净克隆是否为ignorecase标志输出相同的值,以及它是否具有正确的文件夹名称(大写),如果是,请尝试将您的更改从较旧的工作副本应用到该副本,以便从那里开始工作,在git中移动文件/文件夹或重命名文件/文件夹时,我遇到了不稳定的行为

在一个可能更极端的解决方案中,进行一次愚蠢的提交,将文件夹重命名为其他名称,在这里对文件夹的名称进行更大的更改,而不仅仅是大写字母,然后再次提交,将原始名称改为大写


通知您的存储库的其他用户,他们可能还必须执行干净的克隆以避免出现问题。

存储库顶部文件夹中是否有.gitignore文件?是的,我在存储库的根目录中有.gitignore文件,但我只是仔细检查了一下,没有一个条目适用于我遇到问题的文件。请尝试执行一个测试,然后将文件添加到暂存区域,看看是否有效。git status--short的输出是什么?同时查看“Resources/file1”和“Resources/file1”强烈指出了一个区分大小写的问题-请参阅@edgar的回答我必须将我的更改复制到新的克隆上,但补丁不起作用,我必须手动执行,但它起作用了。谢谢