GIT clone 项目报错

用git bash命令行clone项目时,报以下错误,说是代码中的某个文件名过长:Filename too long

$ git clone -b xxxxxxx_20181128xxx http://gitlab.xxxxxx-xxx.com/xxxxxxxx_release/xxxxxxxxxxxxx.git
Cloning into 'xxxxxxxxxxxxx'...
remote: Enumerating objects: 36742, done.
remote: Counting objects: 100% (36742/36742), done.
remote: Total 71414 (delta 1530), reused 29527 (delta 1530)B/s
Receiving objects: 100% (71414/71414), 29.57 MiB | 13.88 MiB/s, done.
Resolving deltas: 100% (6557/6557), done.
Checking connectivity... done.
error: unable to create file app/test/src/test/java/com/xxx/.../abcdefghigklmnopqrstuvwxyzbpmfdtn...lgkhjqxzcsywv1234567890aoeiuv.yaml: Filename too long
Checking out files: 100% (5663/5663), done.
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry the checkout with 'git checkout -f HEAD'

 

报错原因:git服务器的项目中有个文件的文件名过长,如上述日志中的:app/test/src/test/java/com/xxx/.../abcdefghigklmnopqrstuvwxyzbpmfdtn...lgkhjqxzcsywv1234567890aoeiuv.yaml,而:

git有可以创建4096长度的文件名,然而在windows最多是260,因为git用了旧版本的windows api。所以报错。

解决方案:在执行clone命令前,先执行下如下命令:

git config --global core.longpaths true

注意:该命令其实就是设置了一个对于windows系统的全局变量,可以用以下方式验证是否设置成功:

打开wins目录:C:\Users\admin(admin是wins的登陆用户),看该路径下是否有.gitconfig文件,打开如下即设置成功:

再执行clone命令即可:

$ git clone -b xxxxxxx_20181128xxx http://gitlab.xxxxxx-xxx.com/xxxxxxxx_re                                                                                                                           lease/xxxxxxxxxxxxx.git
Cloning into 'xxxxxxxxxxxxx'...
remote: Enumerating objects: 71457, done.
remote: Counting objects: 100% (71457/71457), done.
remote: Total 71457 (delta 4842), reused 68337 (delta 4842)
Receiving objects: 100% (71457/71457), 31.27 MiB | 10.96 MiB/s, done.
Resolving deltas: 100% (4842/4842), done.
Checking connectivity... done.
Checking out files: 100% (5663/5663), done.

可以看到日志中不再报错,打开idea后亲测也可以与git正常连接。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值