আমি ঘটনাক্রমে গিট সংগ্রহস্থলের প্রতি আমার সর্বশেষ প্রতিশ্রুতি দিয়ে একটি বিশাল বাইনারি ফাইল যুক্ত, প্রতিশ্রুতিবদ্ধ এবং ধাক্কা দিয়েছি।
গিট কীভাবে সেই প্রতিশ্রুতিটির জন্য তৈরি করা বস্তু (গুলি) মুছে ফেলতে পারি যাতে আমার .git
ডিরেক্টরিটি আবার একটি বুদ্ধিমান আকারে সঙ্কুচিত হয়?
সম্পাদনা করুন : আপনার উত্তরের জন্য ধন্যবাদ; আমি বেশ কয়েকটি সমাধান চেষ্টা করেছিলাম। কারও কাজ হয়নি। উদাহরণস্বরূপ, গিটহাবের একজন ইতিহাস থেকে ফাইলগুলি সরিয়ে নিয়েছে, তবে .git
ডিরেক্টরিটির আকার হ্রাস পায়নি:
$ BADFILES=$(find test_data -type f -exec echo -n "'{}' " \;)
$ git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch $BADFILES" HEAD
Rewrite 14ed3f41474f0a2f624a440e5a106c2768edb67b (66/66)
rm 'test_data/images/001.jpg'
[...snip...]
rm 'test_data/images/281.jpg'
Ref 'refs/heads/master' was rewritten
$ git log -p # looks nice
$ rm -rf .git/refs/original/
$ git reflog expire --all
$ git gc --aggressive --prune
Counting objects: 625, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (598/598), done.
Writing objects: 100% (625/625), done.
Total 625 (delta 351), reused 0 (delta 0)
$ du -hs .git
174M .git
$ # still 175 MB :-(