【发布时间】:2020-12-22 22:12:17
【问题描述】:
当我尝试从 github 签出存储库时,我收到错误:
error: invalid path 'configs/perl-modules/DIST.64/perl-HTML-Tree-1:5.03-1.el6.noarch.rpm'
我怀疑问题在于路径包含一个 :,这在 Windows 上是非法的。
研究错误后,我找到了 2 个可能的答案:
1) 更改存储库文件的路径。 不幸的是,这是一个团队资源,无法在可预见的未来。
2) 使用 sparse-checkout。 我已经尝试过,但没有效果,如下所示:
$ git clone -n git@github.com: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 checkout 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'
.
. (对许多文件重复)
.
这是使用 Git for Windows “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 不能在那里工作。为什么 sparse-checkout 不能在 Windows 上运行。还有其他可能吗?
【问题讨论】:
-
我尝试过的其他事情是更改行尾,前导 /,\ 而不是 /(毕竟,这是 Windows),并在末尾添加 *。我还尝试了新的 svn sparse-checkout init 和 svn sparse-checkout add & set 命令。仍然没有快乐。
-
创建一个fork,在真机上克隆,重命名有问题的文件,提交,推送?然后,您应该能够在倒霉的 Windows 系统上进行浅层结帐。
-
文件夹名称的末尾也可能有空格。发生在我身上......而且很难被发现!
标签: git github sparse-checkout