"不会添加文件别名' samefile' (' SameFile'已存在于索引中)"什么时候`git add`操作

时间:2014-08-30 08:16:58

标签: git

我下载linux'内核源代码,并希望git add全部。

当我git add .时,git开始添加它们。但很快就会返回错误:

fatal: Will not add file alias 'include/linux/netfilter/xt_connmark.h' ('include/linux/netfilter/xt_CONNMARK.h' already exists in index)

很奇怪,xt_connmark.hxt_CONNMARK.h 完全不同,为什么会抱怨这个错误?这些情况也发生在其他文件夹中。我不能单独更改名称来解决这个问题。

即使我尝试git add --ignore-errors .,它也不起作用。它刚刚停止而没有忽略这个错误。有人知道解决方案吗?

3 个答案:

答案 0 :(得分:34)

编辑.git / config以将ignorecase设置为false

[core]
  ignorecase = false

可以全局设置

$ git config --global core.ignorecase false

答案 1 :(得分:1)

实际上,我自己犯了这样的错误。

<块引用>

首先,我用小写字母创建了文件名,后来我用大写字母更改了文件名这是git不跟踪

  1. 更改“文件”名称的大小写并在末尾(或其他符号)添加“1”
  2. 阶段(无提交)=结果“File1”-重命名文件
  3. 从末尾删除“1”
  4. 阶段(无提交)=结果“文件”-重命名文件(现在仅大写)
  5. 现在提交。
<块引用>

也试试这个 - $ git config --local core.ignorecase false

Reference

答案 2 :(得分:1)

使用

git rm --cached <file>

这将从索引中完全删除文件的内容,但将其保留在工作目录中。提交时,文件将从 HEAD 提交中删除。

我建议在这样做之前备份您的项目。