我使用Git-1.9.0-preview20140217 for Windows。据我所知,这个版本应该解决文件名过长的问题。但对我来说不是。

当然我做错了什么:我做了git配置核心。Longpaths true和git add。然后git提交。一切都很顺利。但是当我现在做一个git状态时,我得到了一个文件名太长的文件列表,例如:

node_modules/grunt-contrib-imagemin/node_modules/ pngquent -bin/node_modules/bin-wrapper/node_modules/download/node_modules/request/node_modules/form-data/node_modules/combined-stream/node_modules/delayed-stream/test/integration/test-handle-source-errors.js: Filename too long

对我来说,这很简单:只需用Angular生成器("yo Angular ")创建一个Yeoman web应用程序,并从.gitignore文件中删除node_modules。然后重复前面提到的Git命令。

我错过了什么?


当前回答

您应该能够运行该命令

git config --system core.longpaths true

或者手动将其添加到您的Git配置文件中以开启此功能,一旦您使用了受支持的Git版本。它看起来可能是1.9.0或之后的版本。

其他回答

执行git配置——系统核心。Longpaths true向我抛出了一个错误:

错误:无法锁定配置文件C:\Program Files (x86)\Git\mingw32/etc/gitconfig: Permission denied"

修正了在全局级别执行命令:

git config --global core.longpaths true

将存储库移动到驱动器的根目录(临时修复)

您可以尝试临时将本地存储库(整个文件夹)移动到驱动器的根目录或尽可能靠近根目录。

由于驱动器根路径较小,因此有时可以修复问题。

在Windows上,我将把它移动到C:\或其他驱动器的根目录。

我也有这个错误,但在我的情况下,原因是使用了一个过时的npm版本,v1.4.28。

更新到npm v3,然后

rm -rf node_modules
npm -i

为我工作。NPM issue 2697详细介绍了NPM v3(发布2015-06-25)中包含的“最大化平面”文件夹结构。

这对我很有效

以管理员终端运行。并运行下面的命令。

git config --system core.longpaths true

如果您正在使用加密分区,请考虑将文件夹移动到未加密分区(例如/tmp),运行git pull,然后移动回来。