Git添加失败,提示文件名太长

问题

Git add时遇到filename too long错误。

Git 的add命令将文件添加到暂存区。

错误分析

在理解错误原因之前,我们需要了解一下操作系统对文件名长度的限制。不同的操作系统对文件名长度的限制是不同的。例如,Windows系统的文件名长度限制为260个字符,而Unix/Linux系统中的文件名长度限制则更高一些。

Git 默认在 Windows 系统中使用 LF(Line Feed)作为行分隔符,而在 Unix/Linux 系统中使用 CR(Carriage Return)和 LF 作为行分隔符。当我们在 Windows 系统中使用 Git时,Git 会自动将行分隔符转换为 LF,这样就可能导致文件名变长。

一般来说,主要原因还是 Git 未开启长路径支持。

解决方法

在解决这个问题之前,我们需要先了解一下Git的配置。我们可以通过以下命令查看Git的配置信息:

1
git config --list

查看配置信息中是否存在如下行:

1
core.longpaths=true

如果存在该行,并且值为true,说明 Git 已经开启了长路径支持,那么问题可能是由于行分隔符导致的。我们可以尝试通过以下命令关闭行分隔符转换:

1
git config --global core.autocrlf false

如果不存在core.longpaths配置或者其值不为true,我们可以尝试通过设置该配置来开启长路径支持:

1
git config --global core.longpaths true

在执行以上命令后,重新执行添加命令,看是否能够成功添加文件。如果问题仍然存在,那么可能是因为你的操作系统对文件名长度有限制。这时,我们可以尝试缩短文件名或重新组织文件结构,将文件移到较短路径下。


参考:Git 添加命令失败,提示文件名太长|极客教程


Git添加失败,提示文件名太长
https://blog-21n.pages.dev/2024/08/19/Git添加失败,提示文件名太长/
作者
Neo
发布于
2024年8月19日
许可协议