Git:拉取或加入时提示文件名过长:path to long

总结说明

  • Windows 存在最大文件路径 260 个字符的限制,超过这个长度默认不支持。
  • 可以通过修改注册表或组策略使 Windwos 支持超过 260 个字符的路径,但是只是 windows api 支持了,资源管理器还是不支持。
  • 修改注册表或组策略后[资源管理器]仍不支持 超过 260 个字符的路径,复制文件、Git 图标显示、Git 加入等都会异常。
  • 管理超长路径的文件可以使用第三方的文件管理工具:Total CommanderDirectory Opus
  • 管理超长路径的 Git 仓库可使用 SourceTerr、IDEA 等,不要再使用 TortoiseGit。
  • 最好调整目录结构不要超过 260 个字符。

问题描述

Git 提交和拉取提示文件名太长。

加入报错:
20220909_132701.png

拉取报错:
20220909_132832.png

报错文本:


path too long
Filename too long

解决方案

git config --global core.longpaths true
git config --system core.longpaths true

–global 或者 --system 是该参数的使用范围,只想对本版本库设置可去掉。

Git 可以创建 4096 长度的文件名,然而在 Windows 最多是 260

Windows 路径最大 260 长度说明

参考资料1:
https://docs.microsoft.com/zh-cn/windows/win32/fileio/naming-a-file?redirectedfrom=MSDN#maximum-path-length-limitation

在 Windows 10 版本 1607 之前的 Windows 版本中,路径的最大长度为 MAX_PATH,定义为 260 个字符。 在更高版本的 Windows 中,需要更改注册表项或使用 组策略 工具来删除限制。 有关完整详细信息,请参阅下文。

解除路径最大260长度限制

参考资料2:
https://docs.microsoft.com/zh-cn/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd
New-ItemProperty -Path "HKLM:SYSTEMCurrentControlSetControlFileSystem" `

1、PowerShell 命令:
-Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force

2、还可以通过组策略开启:

计算机配置 - 管理模板 - 系统 - 文件系统 - 启用 Win32 长路径

最后修改:2023 年 01 月 19 日 09 : 41 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论