Git 拉中止错误文件名太长

我使用 Windows 作为我的操作系统,和一个使用 Mac 的朋友一起做一个项目。他在我们的 Github 上输入了代码。

我试图把他所做的一切都拉出来,但是由于第三方代码的“文件名太长”错误而中止了。

我能做什么?

125149 次浏览

尽量让你的文件更接近文件系统根目录。更多细节: 由于技术原因,当绝对路径超过260个字符时,Windows 的 Git 无法创建文件或目录

在 msysgit 常见问题的 Git cannot create a filedirectory with a long path似乎不是最新的,因为它仍然链接到旧的 msysgit 110号票。然而,根据后来的 ticket #122,这个问题已经在 msysgit 1.9中得到解决,因此:

  1. Update to msysgit 1.9 (or later)
  2. 启动 Git Bash
  3. 转到您的 Git 存储库,该存储库存在长路径问题
  4. Enable long paths support with git config core.longpaths true

到目前为止,我觉得还不错。

注意 对122号罚单的评论中的重要通知

别回来抱怨文件资源管理器坏了, Exe、 bash 或者其他你正在使用的工具。

对于那些经常在 Windows 上使用 Java 存储库遇到这个问题的人来说,最好的解决方案是安装 Cygwin (https://www.cygwin.com/) ,并在所有 > devel > git 下使用它的 git 安装。

这是我遇到的最好的解决方案,因为 Cygwin 管理长路径名,这样其他提供的命令就会受益。例句: find,cp 和 rm。相信我,真正的问题开始时,你必须删除路径名称太长在 Windows。

解决方案1 -通过运行以下命令设置全局配置:

git config --system core.longpaths true

解决方案2 -或者您可以直接编辑您的特定 git 配置文件,如下所示:

YourRepoFolder-> . git-> config:

[core]
repositoryformatversion = 0
filemode = false
...
longpaths = true        <-- (add this line under core section)

解决方案3 -当克隆一个新的存储库: 给你时。

打开 your.gitconfig 文件以添加 longpath 属性:

[core]
symlinks = false
autocrlf = true
longpaths = true

虽然晚了几年,但是我想补充的是,如果你需要一次性完成(像我一样) ,你可以在克隆命令中设置配置设置。试试这个:

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

在 Windows 上运行“ cmd”作为管理员并执行命令。

"C:\Program Files\Git\mingw64\etc>"
"git config --system core.longpaths true"

或者,无论 git 安装在哪里,都必须为该文件夹使用 chmod。

or manullay update your file manually by going to path "Git\mingw64\etc"

[http]
sslBackend = schannel
[diff "astextplain"]
textconv = astextplain
[filter "lfs"]
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
process = git-lfs filter-process
required = true
[credential]
helper = manager
**[core]
longpaths = true**