当我尝试从 github 签出存储库时,出现错误:
error: invalid path 'configs/perl-modules/DIST.64/perl-HTML-Tree-1:5.03-1.el6.noarch.rpm'
我怀疑问题是路径包含 : ,这在 Windows 上是非法的。
研究该错误后,我发现了两个可能的答案:
1) 更改存储库文件的路径。不幸的是,这是团队资源,在可预见的将来无法修复。
2)使用稀疏结帐。我已经尝试过,但没有效果,如下所示:
$ git 克隆 -n[电子邮件受保护]:XXXXXX/deploy.git
克隆到“部署”...
远程:枚举对象:57,完成。
远程:计数对象:100% (57/57),完成。
远程:压缩对象:100% (49/49),完成。
远程:总计 86457(增量 10),重复使用 22(增量 8),包重复使用 86400
接收对象:100% (86457/86457),1.50 GiB | 4.73 MiB/s,完成。
解决增量:100% (59779/59779),完成。
$ cd 部署/
$ git config core.sparsecheckout true
$ echo www >> .git/info/sparse-checkout
$ git 结账 centos6
错误:无效路径“configs/perl-modules/DIST.64/perl-HTML-Tree-1:5.03-1.el6.noarch.rpm”
错误:无效路径“configs/perlbrew/perls/perl-5.24.1/man/man3/App::Cpan.3”
.
。 (对许多文件重复)
.
这是使用 Windows 版 Git“git version 2.28.0.windows.1”完成的。我还尝试了两种类型的行结尾并使用各种版本的 .git/info/sparse-checkout 例如:
/*
!/configs/perl-modules
!/configs/perlbrew/perls/perl-5.24.1/man/man3
Checkout 在 Linux、MacOS 和 WSL 上运行良好,唯一的问题是我的 IDE 不能在那里工作。为什么稀疏结帐在 Windows 上不起作用。还有其他的可能性吗?
当我在 git-for-windows bug tracker 上提出问题后(https://github.com/git-for-windows/git/issues/2803),我发现我的问题已经被归档为https://github.com/git-for-windows/git/issues/2777。这个问题表明我需要设置另一个 git 标志:
git config core.protectNTFS false
这(#2777)确实包含了解决我的问题的方法。我希望 git 或 git-for-windows (他们反应非常灵敏)提出更好的警告消息,甚至是像文件路径映射方案这样的真正修复。
请注意,这只是在 Windows 上使用稀疏结帐时才会出现的问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)