尝试克隆远程 git 存储库(裸机)时,出现如下几个错误,之后 git 停止。
error: unable to create file frozen/email/lamson/mymailserver/run/queue/mark.name/cur/1361115664.1929_1.vps-pool-55:2,S (Invalid argument)
如果我必须删除这些文件也没关系,但如果我无法克隆,我就找不到这样做的方法。
知道我能做什么吗?
我猜您可能正在尝试在 Windows 机器上进行克隆。Windows 不允许文件名使用该:
字符。
从微软文档:
使用当前代码页中的任何字符作为名称,包括 Unicode 字符和扩展字符集 (128–255) 中的字符,但以下字符除外:
- 以下保留字符:
- <(小于)
- >(大于)
- : (冒号)
- "(双引号)
- /(正斜杠)
- \(反斜杠)
- | (垂直条或管)
- ? (问号)
- *(星号)
- 整数值零,有时称为 ASCII NUL字符。
- 整数表示在 1 到 31 范围内的字符,但允许使用这些字符的备用数据流除外。有关文件流的更多信息,请参阅文件流。
- 目标文件系统不允许的任何其他字符。
要解决此问题,您可能需要在非 Windows 系统上进行克隆并更正有问题的文件名。也许那里的一些Windows专家会有更好的解决方案。
我正在交叉引用我的答案,因为它也适用于这里:https ://stackoverflow.com/a/34515900/1012586
然而,而不是
*
!kickstarter/parsers/data/kickstarter/campaigndetails/*
你需要类似的东西
*
!frozen/email/lamson/mymailserver/run/queue/mark.name/cur/*
在你的.git/info/sparse-checkout
git
将拒绝覆盖现有文件。再试一次,克隆到一个空目录。