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.
