Git LFS (Large File Storage) بڑی بائنری فائلوں (ویڈیوز، ڈیٹاسیٹس، ڈیزائن ایسٹس، بڑے بائنریز) کو Git میں موثر طریقے سے سنبھالنے کے لیے ایک توسیع ہے۔ Git متن/سورس کوڈ کے لیے ڈیزائن کیا گیا ہے اور بڑی بائنریز کو غلط طریقے سے سنبھالتا ہے، اس لیے LFS انہیں الگ طریقے سے محفوظ کرتا ہے جبکہ ریپوزٹری میں ہلکے وزن کے حوالہ جات رکھتا ہے۔
مسئلہ: Git اور بڑی بائنریز
Git stores every version of every file in its history (the full content):
→ LARGE BINARY files (videos, datasets, PSDs, big binaries) bloat the repo ENORMOUSLY:
- every change stores another full copy (binaries don't diff well)
- the repo and EVERY clone become huge and slow (clone/fetch download all history)
- history can't be shrunk easily (the large blobs are permanent)
→ Git is great for source code (text, diffable), POOR for large binaries.
