Git错误致命:无法统计“*”:没有这样的文件或目录。

40

我遇到了这个错误,在网上找到的关于如何修复它的文档很少。我通过尝试运行命令 git add . 来获得该错误,然后收到以下响应:

致命错误:无法查看 'myPathToAFile':没有那个文件或目录


当你运行 git add . 命令时,当前目录中确切包含了哪些文件?是否有任何具有不寻常名称的文件?你使用的是哪个操作系统?你真正看到的错误信息是标题中的那个(带有 '*'),还是问题中的那个(带有 'myPathToAFile)? - Keith Thompson
7个回答

39
为了解决这个问题,我从git中删除了该文件,然后通过以下步骤重新添加它: git rm "我的文件路径" git add . git commit -am '我的提交' 希望这能帮助其他人!

3
当我使用Xcode 5.1通过向导启动带有git版本控制的新项目时,遇到了类似的错误:fatal: unable to stat 'foo.xcodeproj/xcuserdata/nbenes.xcuserdatad/xcschemes/.dat1ffc.01b': No such file or directory。我也找不到这个文件,所以跳过了git rm步骤,但是git addgit commit让我重新运行起来了。 - Nick Benes

10

太棒了,这让我摆脱了奇怪的git reset --hard问题。 - arberg
链接已损坏。 - Jasancos

7

1
我在Windows 8.1上遇到了同样的问题。错误信息显示为“没有这样的文件或目录”或“没有匹配的文件”。 - Spongeboy

5
在Windows系统中,这个问题的另一个原因可能是保留文件名。我在我的Windows 10机器上出于好奇尝试克隆Linux内核存储库时遇到了它们,并且Git无法创建aux.c和aux.h文件。
因此,您不能创建任何名为以下名称的文件(带有任何扩展名)或文件夹:CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8、LPT9,大小写不敏感。
请参见:https://learn.microsoft.com/en-us/windows/desktop/fileio/naming-a-file#naming-conventions

2

以上方法都对我没用。

更新 Git 解决了问题。


1
我尝试了这里的每一个答案,而这个是解决我的问题的。实际上,并没有可用的更新,我只是重新安装了git。 - Daniel Kaplan

0

与Tejes的评论类似,我只在名为“aux.R”的文件上遇到了这个问题,在Windows机器上无法git pull,而在我的Linux客户端上却可以正常工作。

我通过将其重命名为“auxiliary.R”来解决它,现在可以毫无问题地工作了。


1
这正是相同的原因。Windows保留那些文件名称而不考虑扩展名。 - Tejes

0

如果您的shell正在从当前检出分支中不存在的文件夹中工作,则可能会出现此问题。

我曾经在一个功能分支上,意外地不再使用git根目录,而是从仅存在于该功能分支中的目录中进行操作。当使用vs code rainbow ui切换到主分支时,git会给我这个错误。

解决方案是cd ..返回到git存储库的根目录。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接