🐙
容量が大きいリポジトリを部分的にgit cloneする方法
概要
RayCastの拡張機能を作りたいなと思い、RayCastの拡張昨日のリポジトリをクローンしようとしたのですが、容量が大きくて全然終わらないので部分的にクローンする方補を調べたのでメモとして残します。
RayCastの拡張機能のリポジトリ
方法
git clone --filter=blob:none --sparse git@github.com:raycast/extensions.git
cd extensions
git sparse-checkout init --cone
git sparse-checkout set examples images
上記のコマンドではgit sparse-checkout setの部分でexamplesとimagesディレクトリのみを指定してクローンしています。
ただ、この場合否定をできないみたいなので、容量が大きいextensionsディレクトリを除外してクローンする場合は以下のようにします。
git clone --filter=blob:none --sparse git@github.com:raycast/extensions.git
cd extensions
git sparse-checkout init --no-cone
git sparse-checkout set '/*' '!extensions/'
このコマンドでは、git sparse-checkout set '/*' '!extensions/'でextensionsディレクトリを除外してクローンしています。
最初'/*'を指定せずに実行したのですが、この場合は何もクローンされなかったので、おそらくデフォルトでは何も対象にしていないのだと思います。
Discussion