Warum Git mit grossen Dateien kampft
Git speichert vollstandige Objekt-Snapshots. Wenn Sie ein 100 MB grosses Binary committen, werden die gesamten 100 MB zum Repo hinzugefugt.
Was LFS tut
Git Large File Storage (LFS) ersetzt grosse Dateien im Working Tree mit kleinen Text-Pointer-Dateien.
Installation
# macOS / Homebrew
brew install git-lfs
# Debian / Ubuntu
sudo apt install git-lfs
git lfs install
Dateien tracken
git lfs track "*.psd"
git lfs track "*.mp4"
git lfs track "assets/raw/**"
git add .gitattributes
git commit -m "Track binaries with LFS"
Tracking verifizieren
git lfs ls-files
git lfs status
Bestehende Dateien migrieren
git lfs migrate import --include="*.psd,*.mp4" --everything
Quoten und Preise
GitHub gibt 1 GB Storage und 1 GB monatliche Bandbreite kostenlos.
Mit LFS klonen
git clone https://git.example.com/repo.git
git lfs pull
GIT_LFS_SKIP_SMUDGE=1 git clone <url>
Haufige Fallstricke
- Vergessen,
.gitattributeszu committen. - Nach dem Committen tracken.
- LFS-Objekte leben in
.git/lfs.