无法添加到存储库

问题描述 投票:0回答:3

当我使用 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

我该如何修复它?

git github gitlab
3个回答
4
投票

当 Git 找到给定名称的文件,从操作系统获取有关该文件的信息,然后将该文件添加到索引(也称为临时区域)时,就会发生这种情况(

error: short read while indexing name
)。 git:

使用文件名打开文件;
  • 读取文件内容;和
  • 发现虽然系统说文件的长度正好为
  • N
  • 1 字节长,但 Git 只能读取 N0 字节,其中 N0 N1<
  • 在 Git-for-Windows 上使用 WSL 时,有一个新功能,您可以允许系统存储两个仅在某些名称的
case

上不同的文件,例如 readme.txt

README.TXT。通常 Windows 只允许
one
这样的名称,一旦该名称存在,使用任何变体(包括 ReAdMe.TxT
reaDME.tXT
或其他)都会为您提供一个文件。 Git-for-Windows 过多地使用了这个假设,WSL 现在已经打破了这个假设。
目前的解决方案是:

不要这样做,和/或
  • 不要使用 Windows。
  • 1
  • 最终,Git-for-Windows 人员将构建一个可以处理该问题的 Git-for-Windows 版本。


1

macOS 的用户可能会嘲笑 Windows 的用户,但 macOS 也有类似的问题。在某些方面,macOS 问题可能更严重(NFC 与 NFD 名称),但在其他方面,Windows 问题更严重(无法创建名为 aux.c

aux.h
的文件)。 Git 确实需要一个适当的通用机制,但在某些方面这是一个无法解决的问题。
    


0
投票
找到导致问题的文件
  1. 将文件内容复制粘贴到临时文件
  2. 恢复对有问题的文件的更改
  3. 运行“git add”命令,然后
如果“git add”成功,将临时文件中的内容复制粘贴到 有问题的文件,然后再次运行“git add”命令,它应该可以工作。
  • 如果“git add”由于另一个文件导致相同的 1-4 问题而失败,请对新的有问题的文件重复步骤。

0
投票

© www.soinside.com 2019 - 2024. All rights reserved.