由于文件名长度,Git 克隆在 Windows 上失败

由于文件名长度,Git 克隆在 Windows 上失败

我正在尝试在具有 NTFS 卷的 Windows 机器上克隆 Git 存储库。

不幸的是我收到了几个错误:

错误:无法创建文件(...)文件名太长

有问题的文件确实很长,但据我所知NTFS,它应该还能工作。

例如:

  • 文件名为:151 个字符
  • 绝对文件路径(包括文件名):262 个字符

这应该仍然是可以接受的,并且git clone应该可以工作。根据我在网上和 NTFS 文档中找到的信息,限制如下:

  • 最大文件名长度:255 个字符
  • 最大绝对路径:~32,000 个字符

我为什么无法在 NTFS 卷上克隆该存储库?

答案1

你是大概不是 NTFS 存储限制,而是 Win32 API 限制。可以提供给操作系统函数(例如 CreateFile())(在 Win32 层)的最大路径长度是文件系统独立的限制260 个字符全部的。

Microsoft Docs 上有一篇关于此内容的文章:

幸运的是,最近的 Windows 版本已将 API 限制提高到 32k 个字符 - 但你必须选择参加通过注册表设置。如何执行此操作在同一篇文章中描述(我依稀记得 Git for Windows 的安装程序也提供自动启用此选项的功能)。

相关内容