【发布时间】:2015-08-31 04:54:03
【问题描述】:
在我的存储库中有一个文件(总是那个)总是给我带来麻烦。
我正在使用咖啡脚本并使用 grunt 任务生成 js。
好几次git status告诉我这个文件被修改了,需要添加。问题是 git 看到这个文件 duplicated:
好的..所以我尝试使用git add :/ 添加所有文件,并添加所有文件,包括AreaChart.js 的一份副本,而另一份保留modified 并且未暂存。如果我尝试手动 checkout 或 add 它,没有任何反应,它的状态仍然是 modified 并且未暂存。
这是一个 git 错误吗?我该如何解决这个问题?
编辑:
实际上 git 看到同一个文件有 2 个不同的文件名,即 AreaChart.js 和 Areachart.js。
如果我 ls 我只会看到 AreaChart.js(大写 C),因为它应该是。
提示:
如果我添加AreaChart.js(大写C)--> git 添加Areachart.js(小写c)
如果我添加Areachart.js(小写c)--> git 添加Areachart.js(小写c)
EDIT2:
- 我发现这两个文件都存在于存储库中
- 令我惊讶的是,我发现我的文件系统 (mac) 不区分大小写,所以如果我
touch test和touch Test只创建一个文件(或者可能两者都创建,但我只能看到其中一个) - 输出
git config core.ignorecase说true
【问题讨论】:
-
这些文件名实际上是不同的:第二个有一个小写的“c”。您是,还是其他开发人员,在 Windows 上工作?
-
你可以试试
git add -A :/,它可以记录添加和删除,以考虑生成过程中可能的大小写变化。 -
@Chris 你是对的,但是目录中的
ls告诉我只有一个存在,大写 C:AreaChart.js的那个应该是,所以看到的是 git 2 个文件! -
我对这两个文件名和不断变化的
c进行了编辑 -
git config core.ignorecase的输出是什么?
标签: git git-add git-status