github からリポジトリをチェックアウトしようとすると、次のエラーが表示されます。
error: invalid path 'configs/perl-modules/DIST.64/perl-HTML-Tree-1:5.03-1.el6.noarch.rpm'
問題は、パスに : が含まれていることだと思いますが、これは Windows では違法です。
エラーを調査した結果、考えられる答えが 2 つ見つかりました
。1) リポジトリ ファイルのパスを変更します。 残念ながら、これはチームのリソースであり、近い将来に修正することはできません.
2) スパース チェックアウトを使用します。 以下で証明されているように、私はこれを試しましたが、効果はありませんでした。
$ git clone -n git@github.com:XXXXXX/deploy.git
Cloning into 'deploy'...
remote: Enumerating objects: 57, done.
リモート: オブジェクトのカウント: 100% (57/57)、完了。
remote: オブジェクトの圧縮: 100% (49/49)、完了。
リモート: 合計 86457 (デルタ 10)、再利用された 22 (デルタ 8)、パック再利用された 86400
オブジェクトの受信: 100% (86457/86457)、1.50 GiB | 4.73 MiB/秒、完了。
差分の解決: 100% (59779/59779)、完了。
$ cd deploy/
$ 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 がそこで動作しないことです。Windows で sparse-checkout が機能しないのはなぜですか。他の可能性はありますか?