2

在我的存储库中,有一个文件(总是那个)总是给我带来麻烦。
我正在使用 coffeescript 并使用 grunt 任务生成 js。
好几次git status告诉我这个文件被修改了,需要添加。问题是 git 看到此文件重复
在此处输入图像描述

好的..所以我尝试添加所有内容git add :/并添加所有文件,包括一份副本,AreaChart.js而另一份保留modified且未暂存。如果我尝试checkout手动add操作,则没有任何反应,它的状态保持modified不变。

它是一个 git 错误吗?我怎样才能解决这个问题?

编辑
实际上 git 看到同一个文件有 2 个不同的文件名,即AreaChart.jsAreachart.js.
如果我ls只看到AreaChart.js(大写 C),它应该是。

提示:
如果我添加AreaChart.js(大写C)-> git 添加Areachart.js(小写c
如果我添加Areachart.js(小写c)-> git 添加Areachart.js(小写c

编辑2

  1. 我发现这两个文件都存在于存储库中
  2. 令我惊讶的是,我发现我的文件系统(mac)不区分大小写,所以如果我touch testtouch Test创建一个文件(或者可能两者都创建,但我只能看到其中一个)
  3. 输出git config core.ignorecasetrue
4

2 回答 2

3

再仔细看

AreaChart.js 

Areachart.js

是不同的文件。一个有大写 C,另一个有小写 c 字符。

由于 Git 区分大小写,并且您的文件系统不区分大小写,因此您只会在文件系统上看到其中之一。如果你只想要一个在 Git 中,你应该用 删除另一个,git rm --cached Areachart.js并确保你的更新是通过git add AreaChart.js.

于 2015-06-15T16:01:50.913 回答
3

当它在不区分大小写的文件系统上时会感到困惑。尝试:

git mv --force Areachart.js AreaChart.js
于 2015-06-15T16:16:58.503 回答