我使用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配置——系统核心。Longpaths true向我抛出了一个错误:

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

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

git config --global core.longpaths true

其他回答

为了完全确保它在存储库初始化后立即生效,但在获取远程历史记录或签出任何文件之前,使用这种方式更安全:

git clone -c core.longpaths=true <repo-url>

- c键=值 在新创建的存储库中设置一个配置变量;该配置在初始化存储库后立即生效,但是 在获取远程历史记录或签出任何文件之前。的关键 与git-config1所期望的格式相同(例如, core.eol = true)。如果同一个键有多个值,则每个 值将被写入配置文件。这使它安全,为 示例,向源远程添加额外的获取refspecs。

更多信息

在windows机器中

以管理员身份运行命令提示符,然后运行以下命令

Git配置——系统核心。longpaths真实

您应该能够运行该命令

git config --system core.longpaths true

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

从这里下载并安装Git bash: https://git-scm.com/download/win 以管理员身份运行git bash gui,执行命令:git config——system core。longpaths真实 现在克隆任何存储库。 如果问题没有解决,试试这个命令:git config——global core。longpaths真实 如果没有帮助,请重新启动窗口。

操作步骤(Windows):

以管理员身份运行Git Bash(右键单击应用快捷方式将显示以管理员身份运行的选项) 执行如下命令:

git config --system core.longpaths true

注意:如果第2步不工作或给出任何错误,你也可以尝试运行这个命令:

git config --global core.longpaths true

阅读更多关于git配置的信息。