无法索引文件

时间:2018-02-24 07:32:34

标签: git

我已经使用我正在运行的git git version 2.16.2.windows.1从github克隆了我的回购。

但是,当我想提交它时,我收到以下错误:

error: open("src/hoc/Aux.js"): No such file or directory
error: unable to index file src/hoc/Aux.js
fatal: adding files failed

您可以在下面找到文件夹和文件内容:

enter image description here

有什么建议我做错了吗?

感谢您的回复!

更新

请在下面找到git status给我的内容:

$ git status
On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        .gitignore
        README.md
        config/
        package-lock.json
        package.json
        public/
        scripts/
        src/

nothing added to commit but untracked files present (use "git add" to track)

更新1

即使手动添加src文件夹,我仍然会收到相同的错误:

marcus@Marcus-PC MINGW64 ~/Desktop/Coding Projects/demo-react-burger-builder (master)
$ git status
On branch master
Your branch is up to date with 'origin/master'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)

        .gitignore
        README.md
        config/
        package-lock.json
        package.json
        public/
        scripts/
        src/

nothing added to commit but untracked files present (use "git add" to track)

2 个答案:

答案 0 :(得分:14)

OP对this answer的评论揭示了原因:

  

我现在删除了aux.js,现在一切正常。

AUX是Windows中的一个特殊文件名(继承自MS-DOS的旧时代)。它是一个表示设备的特殊文件。在其他操作系统(基于Unix)上,特殊设备文件位于/dev目录中,MS-DOS(及其后继Windows)识别任何目录中的名称并将其视为特殊文件。这肯定发生在命令提示符中(为了与旧的MS-DOS程序兼容),但它似乎也发生在其他上下文中。

特殊名称在任何目录中都可识别,处理文件名的操作系统代码会忽略提供的aux.js文件(及其路径),并将aux作为特殊设备文件{{1 }}。字符大小写并不重要,在Windows文件系统AUX上,auxAux相同。因为它认为它找到了一个特殊名称,所以它会忽略文件扩展名。

同样的事情发生在AUXNULCON和其他特殊名称上。点击此处查看完整列表:https://en.wikipedia.org/wiki/Device_file#MS-DOS

没有解决方案,只有解决方法。如果你被卡在Windows上或者项目是由同事在Windows上开发的,那么规避这个问题的唯一方法就是避免使用这些特殊名称。 PRN可能是Aux的缩写。{。} 使用更长的名称。

2003年,微软高级开发人员Raymond Chen在他的博客this article上撰写了一篇有趣的读物(以及提供我在这个答案中提供的信息的智慧之源){/ 3}}。

答案 1 :(得分:2)

即使我遇到了同样的问题,因为Aux在Windows中是一个特殊名称。 您可以将Aux文件重命名为“ Auxiliary”,这无疑会起作用。