错误文件名太长,git pull中止

我使用Windows作为我的操作系统,并与使用Mac的朋友一起开展项目。 他在代码中检查了我们的Github。

我试图把他所做的一切都搞砸了,并且因第三方代码的“文件名太长”错误而中止。

我能做什么?

在Git的msysgit常见问题不能创build一个很长的pathfiledirectory似乎不是最新的,因为它仍然链接到旧的msysgit 票#110 。 但是,根据稍后的票#122 ,问题已经在msysgit 1.9中被修复,因此:

  1. 更新到msysgit 1.9(或更高版本)
  2. 启动Git Bash
  3. 得到你的Git仓库长期的path问题
  4. 使用git config core.longpaths true启用长path支持

到目前为止,这对我很有帮助。

请注意对#122号票的评论

不要回到这里,抱怨它打破了Windows资源pipe理器,cmd.exe,bash或任何你使用的工具。

解决scheme1 – 通过运行以下命令设置全局configuration:

 git config --system core.longpaths true 

解决scheme2 – 或者你可以直接编辑你的特定的gitconfiguration文件,如下所示:

YourRepoFolder – > .git – > config:

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

解决scheme3 – 克隆一个新的存储库时: 在这里 。

迟了几年,但我想补充一点,如果你需要一举做到这一点(就像我做的那样),你可以在克隆命令中设置configuration设置。 尝试这个:

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

打开your.gitconfig文件以添加longpaths属性。 所以它会看起来像下面这样:

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

作为一个经常遇到这个问题的Windows上的java库,最好的解决scheme是安装Cygwin( https://www.cygwin.com/ ),并使用它的所有>开发> git下的git安装。

这是我遇到的最好的解决scheme,因为Cygwinpipe理长path名,所以其他提供的命令受益。 例如:find,cp和rm。 相信我,当你必须删除Windows中过长的path名时,真正的问题才会开始。

尽量保持文件靠近文件系统根目录。 更多详细信息:由于技术原因, 当绝对path长于260个字符时 , Git for Windows无法创build文件或目录 。