美文网首页
Clone succeeded, but checkout fa

Clone succeeded, but checkout fa

作者: fck_13 | 来源:发表于2020-04-22 23:57 被阅读0次

在windows下使用git clone某些repo的时候,我们会遇到如下所示的问题

error: invalid path 'XXXXXXXXXXXXX'
fatal: unable to checkout working tree
warning: Clone succeeded, but checkout failed.

这是因为linux下和windows下文件的命名规则不一致引起的,一些文件是从linux上传的,但是在windows上clone的时候就出现了问题。
比如 https://github.com/Pana/node-books/Node-books/Node.js at a Glance: Technology, Market and Ecosystem.pdf 就无法在windows下下载,因为其名称中有:
这并不是一个bug。

解决方案:

PS:
linux下的命名规则:

  • 除了字符“/”之外,所有的字符都可以使用,但是要注意,在目录名或文件名中,使用某些特殊字符并不是明智之举。例如,在命名时应避免使用 <、>、?、* 和非打印字符等。如果一个文件名中包含了特殊字符,例如空格,那么在访问这个文件时就需要使用引号将文件名括起来。
  • 目录名或文件名的长度不能超过 255 个字符。
  • 目录名或文件名是区分大小写的。如 DOG、dog、Dog 和 DOg ,是互不相同的目录名或文件名,但使用字符大小写来区分不同的文件或目录,也是不明智的。
  • 与 Windows 操作系统不同,文件的扩展名对 Linux 操作系统没有特殊的含义,换句话说,Linux 系统并不以文件的扩展名开分区文件类型。例如,dog.exe 只是一个文件,其扩展名 .exe 并不代表此文件就一定是可执行文件。

Windows 下的命名规则:

  • 文件名或文件夹名可以由1~256个西文字符或128个汉字(包括空格)组成,不能多于256个字符。
  • 文件名可以有扩展名,也可以没有。有些情况下系统会为文件自动添加扩展名。一般情况下,文件名与扩展名中间用符号“.”分隔。
  • 文件名和文件夹名可以由字母、数字、汉字或~、!、@、#、$、%、^、&、( )、_、-、{}、’等组合而成。
  • 可以有空格,可以有多于一个的圆点。
  • 文件名或文件夹名中不能出现以下字符:\、/、:、*、?、"、<、>、| 。
  • 不区分英文字母大小写。

参考

相关文章

网友评论

      本文标题:Clone succeeded, but checkout fa

      本文链接:https://www.haomeiwen.com/subject/fxdnihtx.html