我正在尝试在具有 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 的安装程序也提供自动启用此选项的功能)。