উপর ভিত্তি করে এই উত্তর দ্বারা apenwarr এবং এই মন্তব্যটি দ্বারা Miral নিম্নলিখিত সমাধান যা আমাকে ডিস্কের স্থান প্রায় 94% সংরক্ষিত যখন ক্লোনিং নিয়ে এসেছেন লিনাক্স Git স্থানীয়ভাবে সংগ্রহস্থলের যখন শুধুমাত্র একটি ডকুমেন্টেশন সাব অনুপস্থিত:
$ cd linux
$ du -sh .git .
2.1G .git
894M .
$ du -sh
2.9G .
$ mkdir ../linux-sparse-test
$ cd ../linux-sparse-test
$ git init
Initialized empty Git repository in /…/linux-sparse-test/.git/
$ git config core.sparseCheckout true
$ git remote add origin ../linux
# Parameter "origin master" saves a tiny bit if there are other branches
$ git fetch --depth=1 origin master
remote: Enumerating objects: 65839, done.
remote: Counting objects: 100% (65839/65839), done.
remote: Compressing objects: 100% (61140/61140), done.
remote: Total 65839 (delta 6202), reused 22590 (delta 3703)
Receiving objects: 100% (65839/65839), 173.09 MiB | 10.05 MiB/s, done.
Resolving deltas: 100% (6202/6202), done.
From ../linux
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
$ echo "Documentation/hid/*" > .git/info/sparse-checkout
$ git checkout master
Branch 'master' set up to track remote branch 'master' from 'origin'.
Already on 'master'
$ ls -l
total 4
drwxr-xr-x 3 abe abe 4096 May 3 14:12 Documentation/
$ du -sh .git .
181M .git
100K .
$ du -sh
182M .
সুতরাং আমি ২.৯ জিবি থেকে ১৮২ এমবি তে নামলাম যা ইতিমধ্যে নিখুঁত।
যদিও আমি এটি এখানেgit clone --depth 1 --no-checkout --filter=blob:none file:///…/linux linux-sparse-test ( ইঙ্গিতযুক্ত ) কাজ করতে পেলাম না কেননা অনুপস্থিত ফাইলগুলি সমস্ত সূচকে সরানো ফাইল হিসাবে যুক্ত করা হয়েছিল। তাই আপনি যদি কাউকে সমতুল্য জানেন git clone --filter=blob:noneজন্য git fetch, আমরা সম্ভবত আরো কিছু মেগাবাইটে সংরক্ষণ করতে পারবেন। (ম্যান পেজটি পড়ার git-rev-listসাথে ইঙ্গিতও পাওয়া যায় যে এরকম কিছু রয়েছে --filter=sparse:path=…তবে আমি এটি কাজ করেও পাই নি।
(সমস্ত দেবিয়ান বুস্টার থেকে ২.২০.১-এর সাহায্যে চেষ্টা করা হয়েছে।)