这里是我使用 git add 时的错误。
$ git add .
error: short read while indexing .editorconfig
error: .editorconfig: failed to insert into database
error: unable to index file '.editorconfig'
fatal: adding files failed
我该如何解决?
最佳答案
这 ( error: short read while indexing <em>name</em>
) 发生在 Git 找到给定名称的文件,从操作系统获取关于该文件的信息,并将该文件添加到索引也就是临时区域。混帐:
- 使用文件名打开文件;
- 读取文件内容;和
- 发现虽然系统说文件正好是 N1 字节长,但 Git 只能读取 N0 个字节,其中 N0 <N1。
在 Git-for-Windows 上使用 WSL 时,有一个新功能,您可以允许系统存储两个文件,这两个文件仅在某些名称的大小写 上不同,例如,readme.txt
。 和 README.TXT
.通常 Windows 只允许 一个 这样的名称,并且一旦名称存在,就可以使用任何变体——包括 ReAdMe.TxT
或 reaDME.tXT
或其他任何东西——给你一个文件。 Git-for-Windows 过多地使用了这个假设,而 WSL 现在已经打破了这一假设。
目前的解决方案是:
- 不要这样做,和/或
- 不要使用 Windows。1
最终,Git-for-Windows 人员将构建一个 Git-for-Windows 版本来处理该问题。
1macOS 的人可能会在这里 mock Windows 的人,但 macOS 也有类似的问题。在某些方面,macOS 问题可能更糟(NFC 与 NFD 名称),但在其他方面 Windows 问题更糟(无法创建名为 aux.c
和 aux.h
的文件)。 Git 确实需要一个合适的通用机制,但在某些方面这是一个无法解决的问题。
关于git - 无法添加到存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67799062/