Git LFS (Large File Storage) to rozszerzenie dla Git służące do efektywnego obsługiwania dużych plików binarnych (wideo, zbiory danych, zasoby projektowe, duże binaria) w repozytorium. Git jest zaprojektowany dla tekstu i kodu źródłowego, a obsługuje duże binaria słabo, dlatego LFS przechowuje je osobno, utrzymując jedynie lekkie odniesienia w repozytorium.
Problem: Git i duże binaria
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.
